业务场景:因为小程序必须要443端口,但是客户的ipv4 443端口已经开完了。所以现在需要使用ipv6的443端口进行访问。

正常情况:可以直接添加ipv6的配置

nginx_nginx支持ipv6-CSDN博客 配置文章

首先确认nginx是否有ipv6支持:

配置nginx中的ssl配置 只需要在端口号后添加  [::]:  就可以监听ipv6的对应端口

    server{
       listen [::]: 443 ssl;
       ssl         on;
       ssl_certificate "server.pem";
       ssl_certificate_key "server.key";
       ssl_session_timeout 5m;
       #请按照以下协议配置
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
       ssl_prefer_server_ciphers on;
              location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE_HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-NginX-Proxy true;
            # 反向代理配置
            proxy_pass http://192.168.118.159:7077;
       }
    }

以上是正常ipv6监听

在我的实际业务中,ipv6是映射到了ipv4中的

那其实我只需要在server 监听最后映射的ipv4的端口 不用监听443端口

并且加上下面这个配置

ssl         on;

更多推荐