配置實現https
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