nginx 同一个端口同时 支持 http 和 https
2023-09-11 14:17:26 时间
遇到一个场景:
开始测试时,使用的是 88 端口,比如 www.abc.com:88
后来上线了切换到 80 端口,www.abc.com,
然后升级到 https 默认使用443端口,https://www.abc.com
但是呢,有部分老用户还是在使用 88 和 80 端口,这个好解决,就是一个 http 到 https 的 rewrite。
但是呢,有部分用户会这样访问:
https://www.abc.com:88/
协议使用的是 https 协议,但是呢 端口使用的是 88!
这样就会报错,导致无法访问。
解决起来也很简单,把 80 88 443 三个端口都写到一个 server 段里面,配置 ssl on,这样 如果用户在使用 http 访问时,就会报497错误,
然后用error_page 处理一下:
error_page 497 https://$host$uri;
这样就是可以实现 http https 协议和 80 88 443 端口的任何组合都会正确的跳转到 https访问:
搞定。
error code 497
497 - normal request was sent to HTTPS
当虚拟站点只允许https访问时,当用http访问时nginx会报出497错误码
PS: 其实没有实现 同一个端口同时支持 http 和 https,只是将 http 跳转到 https。
同一个端口不可能实现两种访问协议。
相关文章
- 移植HTTPS的问题
- Nginx配置文件nginx.conf中文详解
- Centos 为Nginx 搭建https
- webmin改https访问
- Nginx的https配置记录以及http强制跳转到https的方法梳理
- Nginx配置文件(nginx.conf)配置详解
- 抓包整理外篇——————https 抓包 [ 五]
- Nginx的https配置记录以及http强制跳转到https的方法梳理
- nginx安全:配置ssl证书(https证书)
- Tomcat详解(七)——Tomcat使用https配置实战
- 【异常】Nginx报错: [emerg] unknown directive ““ in /usr/local/nginx/nginx.conf:xx
- https://www.cnblogs.com/skywang12345/category/455711.html
- 阿里云oss上传文件如何支持https?
- 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
- Nginx配置文件nginx.conf具体解释
- nginx 配置 强制访问https
- Nginx如何配置Http、Https、WS、WSS?
- 【K8S】Docker向私有仓库拉取/推送镜像报错(http: server gave HTTP response to HTTPS client)
- 005-Nginx 配置文件nginx.conf详解
- https://blog.csdn.net/heyc861221/article/details/80123811
- 物联网安全——本质上是UDP RCE漏洞:tddp 协议,https://www.anquanke.com/post/id/183202
- 安全数据集汇总——from安全学术圈 https://secdr.org/
- Nginx-https证书认证详解
- nginx使用OpenSSL自签证书支持https
- 十四、Fiddler抓包工具详细教程 — Fiddler抓包HTTPS请求(一)