1. 程式人生 > >配置實現https

配置實現https

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運維菜鳥之旅

技術分享圖片

關註“中國電信天津網廳”公眾號,首次綁定可免費領2G流量,為你的學習提供流量!

技術分享圖片

配置實現https