登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
nginx配置在一个端口下,同时支持http与https两种协议 ...
nginx配置在一个端口下,同时支持http与https两种协议
[ 复制链接 ]
东门清心
2025-6-1 20:46:56
Nginx
不支持
在
同一个端口
同时提供 HTTP 和 HTTPS 服务,原因如下:
HTTP
和
HTTPS
使用的是不同的协议,HTTPS 需要
TLS 握手
,而 HTTP 不需要。
Nginx
无法在同一个端口上自动区分 HTTP 和 HTTPS
。
解决方案
虽然 Nginx 本身不支持 HTTP 和 HTTPS 共享同一端口,但你可以使用
SSL 预读(SSL Preread)
技术,通过 Nginx 的 stream 模块在
同一端口
上区分 HTTP 和 HTTPS 流量。
配置方式:使用 stream 模块监听 443 端口并区分 HTTP/HTTPS
# 在 http 之外的全局配置中
stream {
map $ssl_preread_protocol $name {
"" http_backend; # 没有 TLS 的是 HTTP
default https_backend; # 有 TLS 的是 HTTPS
}
upstream http_backend {
server 127.0.0.1:8080; # HTTP 服务器
}
upstream https_backend {
server 127.0.0.1:8443; # HTTPS 服务器
}
server {
listen 443;
proxy_pass $name;
ssl_preread on;
}
}
http {
server {
listen 8080;
server_name yourdomain.com;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 8443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
}
复制代码
工作原理
stream 监听 443 端口
使用 ssl_preread 读取数据流,判断是否是 HTTPS(即是否有 TLS 握手)。
如果是
HTTP
,转发到 http_backend(127.0.0.1:8080)。
如果是
HTTPS
,转发到 https_backend(127.0.0.1:8443)。
http {} 配置 HTTP 和 HTTPS
server 监听 8080 端口处理 HTTP。
server 监听 8443 端口处理 HTTPS。
最终效果
访问 http://yourdomain.com:443:会自动转发到 8080 端口的 HTTP 服务器。
访问 https://yourdomain.com:443:会自动转发到 8443 端口的 HTTPS 服务器。
这样,你就能在
一个端口(443)
上同时支持 HTTP 和 HTTPS 访问!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
nginx
置在
一个
端口
同时
相关帖子
使用.NET开发一个跨平台功能完善的小智AI客户端
浅谈ThreadLocal----每个线程一个小书包
有没一个js跳转代码啊
【OpenGL ES】在Windows上手撕一个mini版的渲染框架
【OpenGL ES】在Android上手撕一个mini版的渲染框架
sensitive-word:一个简单易用的敏感词过滤框架
忍了一年多,我做了一个工具将文章一键发布到多个平台
循环数组,一个可以释放无锁队列的力量
如何把一个接口设计好?
记录---图文并茂讲解nginx中http升级https(部署SSL证书)知识点总结
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
使用.NET开发一个跨平台功能完善的小智AI客户端
0
214
仟仞
2025-10-05
业界
浅谈ThreadLocal----每个线程一个小书包
0
702
毋峻舷
2025-10-06
问答
有没一个js跳转代码啊
1
23
VerlaMcCle
2025-10-07
业界
【OpenGL ES】在Windows上手撕一个mini版的渲染框架
0
348
卢莹洁
2025-10-08
业界
【OpenGL ES】在Android上手撕一个mini版的渲染框架
0
968
咒卖箴
2025-10-08
业界
sensitive-word:一个简单易用的敏感词过滤框架
0
207
科元料
2025-10-09
业界
忍了一年多,我做了一个工具将文章一键发布到多个平台
0
780
尝琨
2025-10-09
安全
循环数组,一个可以释放无锁队列的力量
0
443
能拘
2025-10-10
安全
如何把一个接口设计好?
0
374
戎玉珂
2025-10-10
代码
记录---图文并茂讲解nginx中http升级https(部署SSL证书)知识点总结
0
89
甄婉丽
2025-10-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
东门清心
2025-6-1 20:46:56
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993690
4
富账慕
10007
5
刎唇
9993
6
柴古香
9989
7
匝抽
9986
8
孙淼淼
9989
9
筒濂
9977
10
凌彦慧
9985
查看更多