公司需要構建一個https訪問的公網域名,記錄申請過程以供拾遺。
首先選擇一家SSL證書託管網站,我司使用的是godaddy,使用過程中發現godaddy的網站並不友好,但客服相對專業,且具備中文客服,這裏不做推薦,自主購買。
1、購買域名。我們也一併在godaddy上購買了;
2、購買SSL證書服務,我司購買的是標準版的SSL證書;
3、在服務器上創建證書申請文件csr和申請私鑰key。csr用於申請證書,key用於放置於nginx的私鑰區域。
openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr
4、將csr的內容複製到網站的key更新區域,保存後提交。
5、在網站上下載對應的證書文件。類型安裝服務器類型選擇即可,這裏選擇Apache。
6、將證書通過需要的方式部署到服務器上。
我選擇的方式是用nginx轉發,參考網站的提示,將下載下來的兩個證書文件使用cat命令合併爲一個。
cat abc.crt gd_bundle-g2-g1.crt >> mywebsite.crt
7、更改nginx配置。關鍵配置如下。注意ssl協議需要TLSv1.2以上,否則網站會報不安全的問題。
server {
listen 443 default ssl;
server_name localhost;
ssl on;
ssl_certificate enjoy.crt;
ssl_certificate_key enjoy.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://mywebsite;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
}
8、設置域名的dns解析,指向配置好nginx的ECS上。
在godaddy上調整域名dns的a域即可。
9、嘗試通過https訪問域名,發現已經提示安全了。
10、可通過chrome瀏覽器的開發者模式控制檯,查看安全性能。所有項目均提示綠色,即ssl安全驗證通過。