環(huán)境:docker + 云服務(wù)器+域名
準(zhǔn)備:下載ssl證書文件,安全組開放443端口,nginx容器映射443端口(切記!!!我就是這里忘記配置, 結(jié)果弄了好久);
如果上面操作都做好了,在nginx也配置了,但是還是有問題,那么就是你的nginx沒有映射443端口,博主這里就是踩了這個(gè)坑,話不多說,進(jìn)入正題;
1.根據(jù)參照官方文檔, 修改nginx配置文件(nginx.conf)
nginx.conf 例子:
user nginx;
#開啟的線程數(shù),一般跟邏輯CPU核數(shù)一致
worker_processes auto;
#定位全局錯(cuò)誤日志文件,級(jí)別以notice顯示,還有debug,info,warn,error,crit模式,debug輸出最多,crir輸出最少,根據(jù)實(shí)際環(huán)境而定
error_log /var/log/nginx/error.log notice;
#指定進(jìn)程id的存儲(chǔ)文件位置
pid /var/run/nginx.pid;
events {
#定義每個(gè)進(jìn)程的最大連接數(shù),受系統(tǒng)進(jìn)程的最大打開文件數(shù)量限制。
worker_connections 1024;
}
http {
#填寫您的證書文件名稱,例如:cloud.tencent.com_bundle.crt
ssl_certificate cloud.tencent.com_bundle.crt;
#填寫您的私鑰文件名稱,例如:cloud.tencent.com.key
ssl_certificate_key cloud.tencent.com.key;
server {
listen 443 ssl;
server_tokens off;
keepalive_timeout 5;
root /usr/share/nginx/html; #填寫您的網(wǎng)站根目錄
index index.php index.html;
server_name www.cloud.tencent.com; #填寫您的證書綁定的域名,例如:www.cloud.tencent.com
ssl_certificate cloud.tencent.com_bundle.crt; #填寫您的證書文件名稱,例如:cloud.tencent.com_bundle.crt
ssl_certificate_key cloud.tencent.com.key; #填寫您的私鑰文件名稱,例如:cloud.tencent.com.key
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 可參考此 SSL 協(xié)議進(jìn)行配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #可按照此加密套件配置,寫法遵循 openssl 標(biāo)準(zhǔn)
ssl_prefer_server_ciphers on;
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
client_max_body_size 20m;
fastcgi_connect_timeout 30s;
fastcgi_send_timeout 30s;
fastcgi_read_timeout 30s;
fastcgi_intercept_errors on;
}
}
server {
listen 80;
#請(qǐng)?zhí)顚懡壎ㄗC書的域名
server_name www.cloud.tencent.com;
#把http的域名請(qǐng)求轉(zhuǎn)成https
return 301 https://$host$request_uri;
}
}
2.重新構(gòu)建容器并啟動(dòng)
這里一定要把映射端口443加進(jìn)去,不然nginx無法監(jiān)聽。
docker run \
-p 443:443 \
-p 80:80 \
--name nginx \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/log:/var/log/nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-d nginx:latest
到這里再去訪問域名,應(yīng)該就會(huì)轉(zhuǎn)跳到對(duì)應(yīng)的網(wǎng)頁(yè);文章來源:http://www.zghlxwxcb.cn/news/detail-730103.html
如果這里還不行,先檢查一下準(zhǔn)備內(nèi)是否都配置好了,如果還是不行,歡迎溝通。文章來源地址http://www.zghlxwxcb.cn/news/detail-730103.html
到了這里,關(guān)于docker中使用nginx配置ssl證書,443端口無法連接的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!