前提條件
- 購買服務器的服務商開啟443端口和服務器已開啟443端口(https的默認端口)
- nginx容器已經安裝
http_ssl_module
模塊(啟用SSL功能) - 下面的教程基於一個開源的dockerfile倉庫
ssl證書上傳至服務器
上傳目錄:
../../services/nginx/certs/
yml文件配置更改
ports:
# 增加443端口
- "443:443"
volumes:
# 增加SSL證書目錄掛載
- ../../services/nginx/certs:/etc/nginx/certs:cached
nginx配置文件更改
default.conf參考
server {
listen 443;
server_name localhost;
root /wwwroot/default/;
index index.php index.html index.htm;
ssl on;
ssl_certificate certs/cert.pem;
ssl_certificate_key certs/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協議進行配置。
ssl_prefer_server_ciphers on;
注意事項:
ssl_certificate certs/cert.pem; ssl_certificate_key certs/cert.key;
這兩項填寫的證書路徑必須是相對路徑(相對於/etc/nginx/ 的路徑)