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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了让你的网站走https(linux, nginx)相关的知识,希望对你有一定的参考价值。

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


 

 

 

购买免费CA证书

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

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

购买

购买

技术分享

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

技术分享

支付成功

验证

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

技术分享

购买之后补信息

技术分享

输入你的姓名邮箱什么的

创建CRS并提交

技术分享

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


选择邮箱并验证

技术分享

接收到的验证码

技术分享

成功

 

下载上传证书

下载证书

技术分享

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

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

上传证书

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

1 scp -r /home/space/CA/ [email protected]:/home/ 
  • /home/space/music/是本地路径
  • [email protected]:/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)的主要内容,如果未能解决你的问题,请参考以下文章

如何让你的网站支持https

Nginx下配置网站SSL实现https访问本站就是用的这方法

如何让你的网站在 Linux 上看起来一样

[Linux小技巧]如何使用exa让你的ls看起来高大上

Web网站如何查看搜索引擎蜘蛛爬虫的行为

Linux