1. 程式人生 > >linux系統nginx伺服器上配置https協議

linux系統nginx伺服器上配置https協議

        今天工作工作中老闆提出一個要求:http協議不安全,我們需要一個相對安全的協議,

        我說:老闆,那用啥子呢?

        老闆想了一下:好,就用https,你去在nginx系統上配置一個;

        我說:老闆,沒問題;

        我的個乖乖,http不好嗎?非得用https,關鍵是沒配過啊,真是愁啊,但當時自己挖的坑怎麼也得跳啊,沒辦法,得找資料啊,和度娘一番雲雨過後,頓時傻眼,我勒個去,https協議得需要一個證書,關鍵是這證書得要錢啊,關鍵是小弟窮啊,於是把這件事和老闆彙報的一下。

        於是老闆語重心長的說道:小x啊,你就不能自己生成一個證書;

        當時腦袋頓時如遭五雷轟頂,臥槽,還有這種操作,於是又找度娘梅開兩度,額,你還真別說,還真有!然後就站在前輩的肩膀上自己嘗試著搗鼓一下,順便寫一點心得體會,與各位道友分享:

        

        好,走:

        進入linux系統,編譯命令:/usr/local/nginx/sbin/nginx -V


        如上圖紅色下劃線,確保有紅色方框中的這些引數;

        如果沒有,那也沒關係,執行編譯命令:  ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module   (注意,此時的編譯位置是:[[email protected] nginx-1.12.2])

        此時,會報出如下錯誤:         

        表示你沒有匯入pcre library,那麼執行匯入命令: yum install pcre pcre-devel -y         重新編譯, 此時,又會出現如下錯誤:                  表示沒有匯入openSSL library,那麼到入即可: yum install openssl openssl-devel -y                  再次重新編譯,再執行命令:         make         make install                 再建立伺服器私鑰: openssl genrsa -des3 -out server.key 1024         此時,會出現如下需要輸入server.key:直接回車即可;         

       建立簽名請求的證書: openssl req -new -key server.key -out server.csr                           要求輸入一些國家,省份,城市等等, 隨便輸入即可;                    此時,輸入命令: ll                 可以看到ssl檔案下多出瞭如下檔案:         

        其中server,crt即為自生成的https證書;

        然後,我們需要在nginx.conf配置檔案中配置證書檔案的路徑: cd /usr/local/nginx/conf                

        紅框即為配置檔案,修改之前,最好備份: cp nginx.conf bak_nginx.conf           
        然後輸入如下命令進入配置檔案: vim nginx.conf         找到如下位置:         

        這裡即為https的引數位置,新增如下資訊:

         server{              listen 80;

             listen 443;              ssl on;              ssl_certificate /usr/local/nginx/conf/ssl/server.crt;              ssl_certificate_key /usr/local/nginx/conf/ssl/server_nopassword.key;              fastcgi_param HTTPS $https if_not_empty; #有https協議時自動使用https,否則忽略這個引數。           }                  劃紅框的即為server.crt證書檔案的路徑;                  然後,回到sbin目錄下: cd /usr/local/nginx/sbin           啟動nignx: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

        然後開啟瀏覽器,輸入: https://192.168.23.129    (注:不同的電腦ip不同)         
        此時, https證書匯入成功。      


        = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

        然後, 又過了幾天, 公司在阿里雲買了臺伺服器, 又讓我在阿里雲的伺服器上配置一個nginx, OMG, 這幾天白乾了,好吧, 裝nginx和在虛擬機器上一樣, 只是需要在阿里雲伺服器上進行如下操作即可:按順序點選紅框所示即可。                                     

                

         這裡只需輸入如上,如下紅框的內容即可;

最後,就OK了!!!