首页 > 代码库 > 让你的网站走https(linux, nginx)

让你的网站走https(linux, nginx)

自己编写
适合像我这样新手(我也是刚快要弄明白)
服务器已经通过阿里云web一键安装包安装完成
环境是linux+nginx
已经申请域名


 

 

  • 购买免费CA证书
    • 购买
    • 验证
    • 成功
  • 下载上传证书
    • 下载证书
    • 上传证书
    • 修改证书权限
  • nginx配置
    • nginx虚拟机配置
    • http强制走https
  • 小坑

 

购买免费CA证书

我们可以在阿里云购买免费的证书

  • 有效期一年
  • 只能一个域名
  • 可以购买多个免费的

购买

购买

技术分享

进入之后就直接购买就行了
技术分享

技术分享

支付成功

验证

购买成功之后可以回到控制台,找到信息补全按钮,进行补全信息

技术分享

购买之后补信息

技术分享

输入你的姓名邮箱什么的

创建CRS并提交

技术分享

在你上面输入的邮箱中找到新邮件,点击链接去沃通验证域名所有者


选择邮箱并验证

技术分享

接收到的验证码

技术分享

成功

 

下载上传证书

下载证书

技术分享

我的手机登陆不显示下载(即使登陆电脑版)

  •  .pem 是公钥
  •  .key 是私钥

上传证书

这里直接通过命令行上传,也可以使用xftp等工具上传

1 scp -r /home/space/CA/ root@0.0.0.0:/home/ 
  • /home/space/music/是本地路径
  • root@0.0.0.0:/home/是服务器路径和服务器用户名
  • 需要把0.0.0.0改成自己的服务器IP地址
  • 执行之后会在服务器/home新建一个CA文件夹,形成/home/CA

 

<h3>修改证书权限

上传之后需要进行权限设置,不然可能出现问题

1.chmod 755 ./CA -R
  • -R是递归,把该文件夹下所有子文件夹及文件更改权限
  • ./CA当前目录下的CA文件夹

nginx配置

上面完成后,还需要进行nginx配置

nginx虚拟机配置

设置虚拟机路径
设置虚拟机路径(在nginx.conf中)

1 http {2     include /alidata/server/nginx/conf/vhosts/*.conf;3 }
 

设置虚拟机

技术分享
 1 server {    #转跳规则 2     listen  80; 3     server_name ztypy.xyz; 4     rewrite ^ https://$server_name$request_uri? permanent; 5 } 6  7 server { 8     listen       443 ssl; 9     #域名10     server_name  ztypy.xyz;11 12     ssl on;13     #证书路径14     ssl_certificate /alidata/server/nginx/ssl/ztypy.pem;    #公钥15     ssl_certificate_key /alidata/server/nginx/ssl/ztypy.key;    #私钥16     ssl_session_timeout 5m;17     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;18     ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;19     ssl_prefer_server_ciphers on;20 21     index index.html index.htm index.php;22     #网站路径23     root /alidata/www/ceshi/w;24     25     #静态规则及日志26     include /alidata/server/nginx/conf/rewrite/phpwind.conf;27     access_log  /alidata/log/nginx/access/ceshi.log;28 }
View Code
 

http强制走https

方法一(推荐因为方便)
直接在.conf中设置

1 server {2   listen      80;3   server_name example.me;4   rewrite     ^   https://$server_name$request_uri? permanent;5 }

 

 

方法二
单独设置一个.conf,定位到以下页面。
通过页面转跳

1 <html>2 <meta http-equiv="refresh" content="0;url=https://ztypy.xyz/">3 </html> 

小坑

    1. 关于下载密钥:我的手机登陆不显示下载(即使手机上登陆电脑版)
    2. 关于密钥:
      • .pem是公钥
      • .key是私钥
    3. 设置密钥放的地址时:ssl_certificate是公钥
    4. nginx虚拟机设置:server不在nginx.conf

让你的网站走https(linux, nginx)