业务场景:因为小程序必须要443端口,但是客户的ipv4 443端口已经开完了。所以现在需要使用ipv6的443端口进行访问。
正常情况:可以直接添加ipv6的配置
首先确认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;