apache和nginx開啟https之旅
阿新 • • 發佈:2019-02-15
1、這是apache開啟https但是沒有認證、nginx開啟免費認證按照下面流程。
1.安裝mod_ssl和openssl yum -y install mod_ssl openssl 2.建立伺服器金鑰 mkdir /etc/httpd/conf.d/ssl.key/ cd /etc/httpd/conf.d/ssl.key/ openssl genrsa -out server.key 1024 3.建立伺服器公鑰 openssl req -new -key server.key -out server.csr 4.建立伺服器證書 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 5.最後對/etc/httpd/conf.d/ssl.conf 進行修改:將SSLCertificateFile和SSLCertificateKeyFile改成如下 SSLCertificateFile /etc/httpd/conf.d/ssl.key/server.cert SSLCertificateKeyFile /etc/httpd/conf.d/ssl.key/server.key 6.重啟apache 7.高階-》繼續訪問
1.第一步
配置一個https站點需要有一個ssl的證書,我們可以到以下網址去申請一個免費的ssl證書:
https://buy.wosign.com/Free/#ssl
2.第二步
有了ssl的證書後,我們可以將需要的伺服器型別的壓縮包解壓後上傳到伺服器中。一共有兩個檔案,一個是.crt檔案,還有一個是.key檔案。
3.第三步
在原有的nginx的server配置中新增以下內容:
listen 443 ssl; server_name xxx; #你的域名 ssl on; ssl_certificate xxx; #crt檔案位置 ssl_certificate_key xxx;#key檔案位置 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on;
然後重啟nginx,關閉瀏覽器並且清空快取,就能夠用https訪問網站啦!
4.第四步
你可能會發現現在用http進不去網站了!怎麼辦呢?很簡單,只要新增以下配置即可!
server {
listen 80;
listen [::]:80 ssl ipv6only=on;
server_name xxx;#域名
return 301 https://xxx$request_uri; #xxx為你的域名
}
這樣,使用者即使不輸入https,輸入http也能訪問了,所有連線都會被重定向到https頁面!