原创

网站升级https


在博客还是http访问时,浏览器网址栏左边一直提示不安全,越看越不得劲,于是赶紧升级成了https;话说升级https不只安全,还能被搜索引擎优先收录,所以大家也赶紧升级吧,这里记录一下阿里云域名升级https的过程吧。

1.申请阿里云免费SSL证书

登录阿里云控制台,进入SSL证书,点击购买证书

img

在购买框选择免费证书后点击购买:

img

img

2.证书申请

还是在SSL证书中心,在购买证书下面未签发一栏,可以看到你刚刚购买的证书,点击证书申请

img

img

点击下一步,弹出窗口点击验证,验证成功后,点击提交审核,然后等待通知即可,我都是一分钟手机就收到短信通知了:

img

如果提示验证失败,则需要去域名解析手动解析上图的表格的内容,然后再回来点击验证即可。

3.部署证书

在已签发栏中找到刚刚验证完成的证书,点击操作栏中的下载,下载服务器类型对应的版本,我这里用的是Nginx

img

把解压完成的证书文件传输到服务器Nginx相关文件夹,然后修改Nginx配置文件,文件参考:

server {
    listen 80;
    server_name  pan.leejean.top www.leejean.top; # 你的域名,可以配置多个,下面分别配置不同的SSL证书
    # 强制跳转https
    rewrite ^(.*) https://$host$1 permanent;
}

#第一个域名
server {
    #listen    80;       #侦听80端口,如果强制所有的访问都必须是HTTPS,这里注销掉
    listen    443 ssl;
    server_name  www.leejean.top;             #域名

    # 增加ssl
    #ssl on;        #如果强制HTTPs访问,这行要打开
    ssl_certificate /ssl/leejean.top.pem;   #ssl证书相关文件位置
    ssl_certificate_key /ssl/leejean.top.key;  #ssl证书密码文件位置

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

     # 指定密码为openssl支持的格式
     ssl_protocols  SSLv2 SSLv3 TLSv1.2;

     ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式
     ssl_prefer_server_ciphers  on;   # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码

     # 定义首页索引目录和名称
     location / {
        root   /usr/share/nginx/html;
        proxy_pass http://127.0.0.1:8080; #此处改成自己项目运行的ip及端口
        proxy_http_version 1.1;
        proxy_connect_timeout 3600s;
        proxy_send_timeout 3600s;
        proxy_read_timeout 3600s;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;                        
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;   
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        index  index.html index.htm;
     }

    #重定向错误页面到 /50x.html
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

#第二个
server {
    listen    443 ssl;
    server_name  pan.leejean.top;         #域名

    # 增加ssl
    #ssl on;        #如果强制HTTPs访问,这行要打开
    ssl_certificate /ssl/pan.leejean.top.pem;
    ssl_certificate_key /ssl/pan.leejean.top.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

     # 指定密码为openssl支持的格式
     ssl_protocols  SSLv2 SSLv3 TLSv1.2;

     ssl_ciphers  HIGH:!aNULL:!MD5;  # 密码加密方式
     ssl_prefer_server_ciphers  on;   # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码


     # 定义首页索引目录和名称
     location / {
        root   /usr/share/nginx/html;
        proxy_pass http://127.0.0.1:8081;  #此处改为自己项目的ip+端口
        proxy_http_version 1.1;
        proxy_connect_timeout 3600s;
        proxy_send_timeout 3600s;
        proxy_read_timeout 3600s;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;                        
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;   
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        index  index.html index.htm;
     }

    #重定向错误页面到 /50x.html
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

修改后nginx的配置文件后(确保证书相关文件和密码文件路径正确,错误的话无法重启nginx),重新启动nginx运行,至此https升级完成,看到网址旁边的小锁,是不是感觉踏实多了呢。

正文到此结束