開發(fā)過程中不可避免要把域名變成HTTPS格式這里記錄下踩坑步驟
1)服務(wù)器是阿里云,在這里使用阿里云那邊下載簽發(fā)的證書(免費(fèi)版)
2)部署的服務(wù)采用nginx 轉(zhuǎn)發(fā)部署,所以下載nginx版本(里面有.key和.pem 結(jié)尾的兩個(gè)文件,你可以修改名字)
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模塊,否則回報(bào)錯)
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:151
C:配置完成后,運(yùn)行make進(jìn)行編譯。
第一次安裝用make install,如果已經(jīng)有了nginx ,那么用make
D:(第一次安裝跳過)關(guān)閉nginx,一般關(guān)閉不了,需要直接殺死
ps aux|grep nginx

image.png
kill -9 進(jìn)程號
E: (第一次安裝跳過)將剛剛編譯好的nginx覆蓋掉原有的nginx(指源碼文件里可執(zhí)行文件nginx),如果上面沒有殺死,那么一般不能覆蓋,會報(bào)文件正忙
cp ./objs/nginx /usr/local/nginx/sbin/
D 切換到 sbin目錄下,啟動nginx
/usr/local/nginx/sbin/nginx
具體nginx.conf配置如下(這個(gè)server 外層是http,位置不能搞錯)
server {
listen 443 ssl; #監(jiān)聽端口
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; #會話超時(shí)時(shí)間
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #SSL協(xié)議
ssl_prefer_server_ciphers on;
location ~/video-cloud- {
proxy_pass http://zuul-server;#這里你可以轉(zhuǎn)跳其他訪問路徑,或者改為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;
}
}