把域名变成HTTPS

开发过程中不可避免要把域名变成HTTPS格式这里记录下踩坑步骤

1)服务器是阿里云,在这里使用阿里云那边下载签发的证书(免费版)

2)部署的服务采用nginx 转发部署,所以下载nginx版本(里面有.key和.pem 结尾的两个文件,你可以修改名字)

3)编译nginx,
具体步骤
A:切换到源码包

cd /root/nginx-1.9.9

B:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

(要加上HTTPS模块,否则回报错)
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:151

C:配置完成后,运行make进行编译。
第一次安装用make install,如果已经有了nginx ,那么用make

D:(第一次安装跳过)关闭nginx,一般关闭不了,需要直接杀死
ps aux|grep nginx


image.png

kill -9 进程号

E: (第一次安装跳过)将刚刚编译好的nginx覆盖掉原有的nginx(指源码文件里可执行文件nginx),如果上面没有杀死,那么一般不能覆盖,会报文件正忙

cp ./objs/nginx /usr/local/nginx/sbin/

D 切换到 sbin目录下,启动nginx

/usr/local/nginx/sbin/nginx

具体nginx.conf配置如下(这个server 外层是http,位置不能搞错)

server {
    listen  443 ssl; #监听端口
    server_name zhgs.xxx.cn; #请求域名XX
    ssl on; #开启ssl
    ssl_certificate zhgs.xxx.cn.pem; #pem证书路径
    ssl_certificate_key zhgs.xxx.cn.key; #pem证书key路径
    ssl_session_timeout     5m; #会话超时时间
    ssl_ciphers     ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
    ssl_protocols   TLSv1 TLSv1.1 TLSv1.2; #SSL协议
    ssl_prefer_server_ciphers on;

    location ~/video-cloud- {
                      proxy_pass http://zuul-server;#这里你可以转跳其他访问路径,或者改为HTTP都行
                      proxy_set_header X-Real-IP $remote_addr;
                        # proxy_set_header REMOTE-HOST $remote_addr;
                      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                 }

  }

参考文章 https://www.jb51.net/article/145276.htm

你可能感兴趣的:(把域名变成HTTPS)