環境centos7,影響不大。
停止服務(如何停,看我其他博文)
如果不停止而先去改配置文件後面會麻煩一些(別問我爲什麼知道),因爲停服務的好像會校驗nginx.conf文件,不正確的話不能停下來。
改配置文件
強制跳轉使用https
error_page 497 https://$host:$server_port$uri?$args;
有兩種方法,一種地址重寫,第二種當然是我這樣捕捉錯誤,再重寫咯。其中用到的$host 這樣的,都是ng的內置變量。我這裏就用到了$host $server_port $args 三個變量
重點,怎麼獲取證書
兩種,買或者自己做。
其中ssl的鑰匙和證書我都放在的conf/cert/中。
買的有貴的,也有免費試用的,就看自己咯。反正我是自己做的。
自己做的一個弊端呢,就是第一次訪問的時候,瀏覽器認爲不安全。
自制證書呢,可以使用openSSL工具。
參考:
https://blog.csdn.net/gengxiaoming7/article/details/78505107
https://www.cnblogs.com/lihuang/articles/4205540.html
調整完配置文件
覈驗文件的合法性
./home/deployer/nginx/sbin/nginx -t -c /home/deployer/nginx/conf/nginx.conf //驗證配置文件的合法性
一般這會會提示ssl模塊缺失,這個問題在windows上是不會出現的,唯獨linux版的nginx有這步操作。當然也可以查看現有的ng服務器是否安裝了ssl模塊。
./home/deployer/nginx/sbin/nginx -V
找到你的安裝包,進入。可直接運行configure 添加ssl模塊,生成新的nginx文件。
./configure --with-http_ssl_module --prefix=/home/deployer/nginx
然後輸入命令make,千萬不要用make install,這個命令是初次安裝ng時用的
這會在安裝包的obj文件夾中生成一個新的nginx文件(不是我懶不寫名字,而是它就叫這名字)
在運行configure一定要加prefix並加上你現安裝好的ng路勁,不然會用默認路徑,到時這個文件就不能用了。(被坑過)
然後在備份的情況下,就可以將剛纔那個新的nginx文件(明顯比以前的大上幾M),替換掉/home/deployer/nginx/sbin 中的ng文件了。
再次驗證配置文件應該就會提示success了。
./home/deployer/nginx/sbin/nginx -t -c /home/deployer/nginx/conf/nginx.conf //驗證配置文件的合法性
然後啓動ng就,完成了。
lucky dog to you.