记录一次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模块:
修改配置文件
把之前申请的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
如图所示,https协议已经在监听状态,并且分别支持ipv4和ipv6!
遇到的坑
一切操作和流程都没有问题,但是发现启动后,网站只支持ipv4访问htpps,ipv6访问提示如下错误:
提示:错误代码:SSL_ERROR_RX_RECORD_TOO_LONG
通过分析得出:
ipv4下能正常访问https
ipv6下访问https的流量是到了nginx服务器
ipv6下测试443端口是通的
经过反复分析以及错误代码提示能判断出ipv6是证书没有被有效识别到,导致ipv6无法使用https,但是ipv4下又能识别到证书,根据这一现象,能判断出是ipv4和ipv6下网络流量的走向不同所致,经过和云服务器提供商沟通,发现原来是在ipv6下互联网访问443端口的流量被映射到了内网服务器的80端口,所以ipv6下测试443端口是通的,但是又无法识别证书的问题。
总结
总体上升级配置是非常简单的,并没有任何难度,但是中途因为网络问题还是出现了意外,所以在分析应用故障的时候,一定要注意外部的网络环境问题。
记录一次nginx升级,支持ipv4和ipv6访问https相关推荐
- 网站同时支持IPv4和IPv6及仅支持IPv4的程序巧妙转换到支持IPv6
文章目录 1. 网站域名如何同时支持IPv4和IPv6 2. 仅支持IPv4的服务器应用程序如何巧妙转换到支持IPv6 1. 网站域名如何同时支持IPv4和IPv6 一个域名是可以同时解析多个IP地址 ...
- linux支持ipv4v6双栈,JBoss7配置-支持IPv4和IPv6双栈环境
第二部分--项目中针对JBoss配置文件修改的详细介绍 根据如上的介绍,为了使JBoss支持IPv6,我们需要修改JBoss的两个配置文件.其一,修改standalone.xml中接口声明部分和soc ...
- 双协议栈服务器,南通大学:支持IPv4与IPv6双协议栈的Web服务器设计
系统测试 在嵌入式Linux平台下,输入命令"ifconfig",即可得到当前设备的IP地址,如图7所示.由图可见,该设备的IPv4地址为"192.168.1.106&q ...
- 全球IP地址短缺的危机 思科可同时支持IPv4和IPv6
导语:互联网似乎疆域无限,可连接数十亿超链终端,但是如果你询问一些维持其无缝连接的幕后工程师们,他们会告诉你互联网并不是无限的,事实上,互联网已经开始变得有点儿拥挤. 非盈利组织互联网协会的首席技术执 ...
- java http ipv6_如何在Java上同时支持IPv4和IPv6
小编典典 我怀疑这不是Java编程问题,而是OS网络堆栈/ OS网络配置问题: 在某些操作系统上,单个本机TCP套接字可以同时侦听IPv4和IPv6上的端口.它能够接受来自远程IPv4和远程IPv6客 ...
- (转)网络编程:Socket编程从IPv4转向IPv6支持
目前运行主流的IT系统中,用于解决分布式系统内部模块及不同的系统间通信的一种主要的解决方案就是使用套接字Socket来开发应用.由于当前大部分正在运行的IT系统中使用套接字Socket开发环境基本上都 ...
- IPv4向IPv6转换的几种技术分析(中科三方)
一.IPv6介绍 随着互联网技术的不断发展,IPv4的许多缺陷逐渐暴露出来,其中最突出的是IP地址空间将被耗尽和主干路由表不断增长的问题.为了扩大地址空间,拟通过IPv6重新定义地址空间.IPv4中规 ...
- 数据表明全球TOP100万域名中仅23.5%支持IPv6访问
根据目前ICANN最新数据显示,在全球TOP 100万的域名之中,666925个域名只具备A记录,支持IPv4协议,占总数的66.4%:236519个域名同时具备A和AAAA记录,支持IPv4和IPv ...
- 从 IPv4 到 IPv6,阿里踩过哪些坑?
阿里妹导读:在IPv6的概念出现后多年,市场反应不瘟不火.如今,随着万物互联和云计算的爆发式增长,下一代互联网IPv6时代真的已经到来了.6月20日,阿里云在北京召开了阿里云全面支持IPv6发布会,中 ...
最新文章
- Tornado、Bottle以及Flask
- 【KDD 2020】推荐系统领域论文汇总
- 计算机网络中的node是指_信息工程及计算机网络技术简介
- quartz mysql 报错_7月27 mysql quartz 连接报错
- 软件测试:测试一个网站
- 表格是html文档的基本属性吗,Html
- 【C/C++】友元函数和友元类
- Apache OpenNLP(二)
- A. Game With Sticks
- mysql 用户列表数据结构_MySQL数据结构-行结构
- java离职交接文档_提醒 | 定了!财会人离职不办这2项交接,要承担法律责任!后果非常严重,请转发通知~...
- scratch安装包|scratch最新版安装包|scratch3安装包|scratch3最新版安装包
- linux pe ef 详解,PE工具列表(看雪學院)
- 电脑系统常用的10个快捷键,适合电脑新用户看看
- 支付宝内部功能调用APP的said说明
- android 局域网socket,Android基于局域网socket通信
- One Step By One Step 解析OkHttp3 - Dispatcher (一)
- java学习笔记(8) 第8章(下)- 面向对象编程(中级部分) - 练习题
- strchr()函数的详解与实现
- 一句话读完:Spring Bean的生命周期
热门文章
- 100年前伦敦爆发的霍乱,教会了人类什么?
- 静态Web服务器-多任务版
- POP3 SMTP DNS DHCP UDP HTTP FTP HTTPS Telnet WIDOWS TFTP 常用协议和默认端口,计算机网络的很需要!!!
- Node2Vec:万物皆可Embedding
- 多光谱和高光谱图像有什么区别?
- 轻量级语义分割网络:ENet
- PyTorch训练加速17种技巧
- 《Python数据分析与挖掘实战》一第1章 数据挖掘基础1.1 某知名连锁餐饮企业的困惑...
- 文化部随机抽查50家网络表演平台 看看有没有那种内容
- Mysql性能优化方案