登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
nginx配置在一个端口下,同时支持http与https两种协议 ...
nginx配置在一个端口下,同时支持http与https两种协议
[ 复制链接 ]
东门清心
2025-6-1 20:46:56
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
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
置在
一个
端口
同时
相关帖子
nginx解决进程内存占用翻倍
带vip功能的一个网盘系统
一个简单易用、功能强大的 AI 图片生成工具
Flask 应用部署实战:Nginx 反向代理配置指南
在windows平台搭建一个mini版本的k8s集群
让 AI 真正好用:一个框架提升你的办公效率
用 GPT-5.2 Vibe Coding,做了一个可以“玩”的人脸相似度应用
记录 Windows系统开启hyper-v ,部分端口被保留,导致端口不能使用而报错的问题
一个完全由大模型AI Coding开发而成的程序员工具网站
一天一个Python库:NumPy - 科学计算的基石
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
nginx解决进程内存占用翻倍
2
287
疝镜泛
2025-12-04
程序
带vip功能的一个网盘系统
4
64
新程序
2025-12-06
安全
一个简单易用、功能强大的 AI 图片生成工具
0
659
崆蛾寺
2025-12-07
业界
Flask 应用部署实战:Nginx 反向代理配置指南
1
953
盒礁泅
2025-12-11
业界
在windows平台搭建一个mini版本的k8s集群
1
107
计海龄
2025-12-11
业界
让 AI 真正好用:一个框架提升你的办公效率
1
798
厂潺
2025-12-12
业界
用 GPT-5.2 Vibe Coding,做了一个可以“玩”的人脸相似度应用
0
721
腥狩频
2025-12-13
安全
记录 Windows系统开启hyper-v ,部分端口被保留,导致端口不能使用而报错的问题
0
211
溜椎干
2025-12-15
业界
一个完全由大模型AI Coding开发而成的程序员工具网站
0
483
龙梨丝
2025-12-17
业界
一天一个Python库:NumPy - 科学计算的基石
0
848
账暴
2025-12-21
回复
(4)
狞嗅
2025-10-23 07:13:32
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
尸酒岐
2025-11-1 21:31:22
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
呵桢
2025-11-2 03:27:13
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
晁红叶
2025-11-15 02:10:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
东门清心
2025-11-15 02:10:54
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845358
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
617
go项目使用go build 与 MakeFile 构建项目
760
监控指标与容量预警——延迟、命中率、慢查
671
2026 年别墅防水服务商 TOP5 推荐:高端住
960
MAUI库推荐二:MPowerKit
962
.NET10 New feature 新增功能介绍-JIT编译
404
报考陪诊师选守嘉陪诊的理由
272
C#AI系列(7):从零开始LLM之Tokenizer实现
284
C#AI系列(7):从零开始LLM之Tokenizer实现
825
Pytest 测试用例自动生成:接口自动化进阶
848
一天一个Python库:NumPy - 科学计算的基石
14
FFmpeg 内存输入&输出
745
一文读懂RAG架构如何助力AI
500
一文读懂RAG架构如何助力AI
548
ROS2之TF介绍
399
SW 随笔 001 — InlineArray 带你飞(Since
693
当遇见 CatchAdmin V5-模块化设计重新定义
495
【有手就行】SWIFT:花20分钟把大模型的名
562
论文速读记录 | 2025.12(2)
376
浮点数的本质:为什么计算机无法精确表示0.
731
Flink源码阅读:如何生成JobGraph