linux 給nginx安裝ssl證書,並強制使用https協議訪問

 

環境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.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章