java nginx https_docker nginx 配置ssl,实现https
docker nginx 配置ssl,實(shí)現(xiàn)https
2019-09-05 16:06:35.0
nginx配置https總覽
在nginx配置ssl實(shí)現(xiàn)https,簡單來說分為三個(gè)步驟:
1 上傳ssl證書等文件
將 1_www.domain.com_bundle.crt 和 2_www.domain.com.key 上傳到nginx配置文件的目錄旁邊。
這兩個(gè)文件分別為 證書文件和密鑰文件 。
2 配置server節(jié)點(diǎn)監(jiān)聽443端口
進(jìn)行以下配置
server {
listen 443; #SSL 訪問端口號(hào)為 443
server_name www.domain.com; #填寫綁定證書的域名
ssl on; #啟用 SSL 功能
ssl_certificate 1_www.domain.com_bundle.crt; #證書文件名稱
ssl_certificate_key 2_www.domain.com.key; #私鑰文件名稱
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請(qǐng)按照這個(gè)協(xié)議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #請(qǐng)按照這個(gè)套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
ssl_prefer_server_ciphers on;
location / {
root /var/www/www.domain.com; #網(wǎng)站主頁路徑。此路徑僅供參考,具體請(qǐng)您按照實(shí)際目錄操作。
index index.html index.htm;
}
}
或較高版本的nginx可如下配置:
server {
listen 443 ssl; #SSL 訪問端口號(hào)為 443 并啟用 SSL 功能
server_name www.domain.com; #填寫綁定證書的域名
ssl_certificate 1_www.domain.com_bundle.crt; #證書文件名稱
ssl_certificate_key 2_www.domain.com.key; #私鑰文件名稱
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請(qǐng)按照這個(gè)協(xié)議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #請(qǐng)按照這個(gè)套件配置,配置加密套件,寫法遵循 openssl 標(biāo)準(zhǔn)。
ssl_prefer_server_ciphers on;
location / {
root /var/www/www.domain.com; #網(wǎng)站主頁路徑。此路徑僅供參考,具體請(qǐng)您按照實(shí)際目錄操作。
index index.html index.htm;
}
}
注意:
這里要確保兩個(gè)文件的位置是相對(duì)與nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而這個(gè)server節(jié)點(diǎn)配置在其他文件中,則路徑還是相對(duì)于nginx.conf文件的位置。
3 修改80端口的配置
修改80端口的配置可以讓http的url轉(zhuǎn)發(fā)到https的url。
server {
listen 80;
server_name www.domain.com; #填寫綁定證書的域名
rewrite ^(.*)$ https://$host$1 permanent; #把http的域名請(qǐng)求轉(zhuǎn)成https
}
常見文件位置問題
證書文件和密鑰文件的位置是相對(duì)與nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而這個(gè)server節(jié)點(diǎn)配置在其他文件中,則路徑還是相對(duì)于nginx.conf文件的位置。 如下圖:
docker中ssl文件的位置
docker 中,nginx容器如果沒有掛載ssl文件所在的目錄,則需要手動(dòng)將這兩個(gè)文件復(fù)制在容器內(nèi)部的nginx.conf文件旁邊。如下圖:
復(fù)制可使用 docker cp 命令。
驗(yàn)證ssl配置的正確性
在sbin目錄下,執(zhí)行 nginx -t
開放https 443端口
在主機(jī)的防火墻需要開放443端口,此外,如果還配置了云服務(wù)其的安全組,也需要開放443端口。
在docker容器中,需要重新運(yùn)行nginx,并添加443端口的端口映射。
2019-09-05 16:06:35.0
總結(jié)
以上是生活随笔為你收集整理的java nginx https_docker nginx 配置ssl,实现https的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在考生文件夹存有JAVA3_注意:下面出
- 下一篇: java spring aop 注解包_