docker nginx 配置ssl,实现https

nginx配置https总览

在nginx配置ssl实现https,简单来说分为三个步骤:

1 上传ssl证书等文件

将 1_www.domain.com_bundle.crt 和 2_www.domain.com.key 上传到nginx配置文件的目录旁边。

这两个文件分别为 证书文件和密钥文件 。

2 配置server节点监听443端口

进行以下配置:

server {
     listen 443; #SSL 访问端口号为 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; #请按照这个协议配置
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_prefer_server_ciphers on;
     location / {
         root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         index  index.html index.htm;
     }
 }

或较高版本的nginx可如下配置:

server {
     listen 443 ssl; #SSL 访问端口号为 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; #请按照这个协议配置
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_prefer_server_ciphers on;
     location / {
         root /var/www/www.domain.com; #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         index  index.html index.htm;
     }
 }

注意:

这里要确保两个文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。

3 修改80端口的配置

修改80端口的配置可以让http的url转发到https的url。

server {
    listen 80;
    server_name www.domain.com; #填写绑定证书的域名
    rewrite ^(.*)$ https://$host$1 permanent; #把http的域名请求转成https
}

常见文件位置问题

证书文件和密钥文件的位置是相对与nginx.conf配置文件的位置。如果在nginx.conf 文件中使用了incude,而这个server节点配置在其他文件中,则路径还是相对于nginx.conf文件的位置。

复制可使用 docker cp 命令。

验证ssl配置的正确性

在sbin目录下,执行 nginx -t

开放https 443端口

在主机的防火墙需要开放443端口,此外,如果还配置了云服务其的安全组,也需要开放443端口。

在docker容器中,需要重新运行nginx,并添加443端口的端口映射。

温馨提示 : 非特殊注明,否则均为©李联华的博客网原创文章,本站文章未经授权禁止任何形式转载;IP地址:3.145.196.150,归属地:俄亥俄州Dublin ,欢迎您的访问!
文章链接:https://www.lilianhua.com/docker-nginx-configure-ssl-and-implement-https.html
Popup Image

通知

本站原则上是免费提供技术支持,但是服务器维护和运营成本高,可以实行自由赞助:赞助

Loading...