IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 记录一次nginx升级支持ipv4和ipv6访问https -> 正文阅读

[网络协议]记录一次nginx升级支持ipv4和ipv6访问https

项目要求,需要让现有网站项目支持https,并同时支持ipv6访问,经过分析,现在nginx版本较老,所以决定升级nignx,并且同步配置https和ipv6。

升级准备

服务器网络环境需要支持ipv6,并且分配公网ipv6地址,ssl证书提前申请好.

下载nginx

wget http://nginx.org/download/nginx-1.18.0.tar.gz

安装openssl

yum install openssl
yum install openssl-devel

判断域名解析是否支持ipv6
找一台支持ipv6网络的客户端电脑,仅使用ipv6网络来ping网站域名,如果解析域名返回的ip地址不是ipv6,则说明域名ipv6解析未做。编译nginx

./configure     --user=root     --group=root     --prefix=/usr/local/nginx     --with-http_ssl_module     --with-stream     --with-mail=dynamic     --with-http_gzip_static_module     --with-pcre   --with-http_mp4_module     --with-http_gunzip_module  --with-ipv6
make
make install

这里注意,在较高的nginx版本里面,已经自带了ipv6模块,不用增加–with-ipv6,如果是比较老的版本编译,需要增加–with-ipv6,如果编译的时候出现如下警告提示,说明版本已经自带ipv6模块:

记录一次nginx升级,支持ipv4和ipv6访问https记录一次nginx升级,支持ipv4和ipv6访问https

修改配置文件
把之前申请的https证书(crt文件和key文件)上传到服务器目录

listen 443 ssl;
    listen [::]:443 ssl;
    ssl_certificate  /usr/local/nginx/conf/conf.d/ssl/www.aaa.gov.cn.crt;  
    ssl_certificate_key  /usr/local/nginx/conf/conf.d/ssl/www.aaa.gov.cn.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

listen 443 ssl; 支持ipv4访问https
listen [::]:443 ssl; 支持ipv6访问https

防火墙开放443端口

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

重载nginx配置文件

./sbin/nginx -s reload

查看443端口是否在监听状态

lsof -i:443

记录一次nginx升级,支持ipv4和ipv6访问https记录一次nginx升级,支持ipv4和ipv6访问https

如图所示,https协议已经在监听状态,并且分别支持ipv4和ipv6!

遇到的坑

一切操作和流程都没有问题,但是发现启动后,网站只支持ipv4访问htpps,ipv6访问提示如下错误:

记录一次nginx升级,支持ipv4和ipv6访问https记录一次nginx升级,支持ipv4和ipv6访问https


提示:错误代码:SSL_ERROR_RX_RECORD_TOO_LONG
通过分析得出:
ipv4下能正常访问https
ipv6下访问https的流量是到了nginx服务器
ipv6下测试443端口是通的

经过反复分析以及错误代码提示能判断出ipv6是证书没有被有效识别到,导致ipv6无法使用https,但是ipv4下又能识别到证书,根据这一现象,能判断出是ipv4和ipv6下网络流量的走向不同所致,经过和云服务器提供商沟通,发现原来是在ipv6下互联网访问443端口的流量被映射到了内网服务器的80端口,所以ipv6下测试443端口是通的,但是又无法识别证书的问题。

总结

总体上升级配置是非常简单的,并没有任何难度,但是中途因为网络问题还是出现了意外,所以在分析应用故障的时候,一定要注意外部的网络环境问题。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:30:49  更:2022-03-21 21:33:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:54:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码