开发过程中不可避免要把域名变成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
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;
}
}