天天看點

配置實作https

1.生成key檔案:

openssl genrsa -out ssl.key 2048

#提示輸入密碼,暫時回車

#測試環境不要加密碼,每次調試都要輸入密碼很麻煩

2.使用key生成一個csr檔案:

openssl req -new -key ssl.key -out ssl.csr

#測試環境,出提示一路回車即可

3.用csr檔案、key檔案,頒發證書

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

#生成一個ssl.crt證書檔案

4.修改nginx配置檔案

#之前編譯nginx已經預設支援ssl子產品

#如不确定,可以用 nginx -V 檢視版本及編譯參數

兩種方法:

1.負載均衡伺服器實作

2.實際的webserver實作

這裡采用在負載伺服器上實作:

nginx.conf配置檔案中:

listen 改為443

listen       10.0.0.3:443;

然後在server區塊加入内容:

###https

        ssl on;

        ssl_certificate /application/nginx/ssl/ssl.crt;

        ssl_certificate_key  /application/nginx/ssl/ssl.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

###end

最後加了一個location區塊: ——避免了每次跳轉網頁時變成http

    server {

         listen 10.0.0.3:80;

         server_name www.george.com;

  rewrite ^/(.*) https://www.george.com/$1 permanent;

        }

重新開機nginx 測試,成功(由于是本地測試,仍然會提示不安全,但已經實作https通路)

1.做了https後,每次通路網址時顯示異常

  因為https位址中,如果加載了http資源,浏覽器将認為這是不安全的資源,将會預設阻止,這就會給你帶 來資源不全的問題了,比如:圖檔顯示不了,樣式加載不了,JS加載不了。因為樣式類,基本上都是寫在本 地的,是以一般還可以,但是一些公共的js檔案,往往就是存在于cdn或者其他伺服器上,這時候,如果訪 問不了,可能就導緻了業務就完全操作不了。

小夥伴們可以關注我的×××公衆号:linux運維菜鳥之旅

繼續閱讀