回答
收藏
分享
举报
nginx虚拟多台服务器
提问于2020-08-08 16:08

浏览 1.1k

请问,niginx 支持使用同一台主机的同一个80端口虚拟多个服务器吗?

比如使用一台主机的80端口同时做www.a.com 和www.b.com 的物理服务器。

如果可以请问配置和原理是什么?

已修改于2023-03-11 02:11



写下您的回答
发表回答
全部回答(2)

按点赞数排序

按时间排序

配置依赖server_name指令,比如:

http {
server {
listen 80;
server_name www.a.com;
}
server {
listen 80;
server_name www.b.com;
}
}

实现原理也很简单,基于HTTP协议格式前提:域名www.a.com是放在HTTP请求的Host头部中,比如Host: www.b.com。

而Nginx处理与请求时,会首先接收到完整的HTTP头部,再开始根据nginx.conf中的server{ }配置中的server_name域名做匹配,最后决定如何处理(严格来说,是在URL或者Host头部解析到域名后,就会立刻通过哈希表找到对应的server块).

赞同

2

回复举报

回答于2020-08-12 08:56



回复陶辉
回复

感谢


赞同

0

回复举报

回答于2020-08-12 09:41



回复Jikui
回复
提问者
Jikui
这家伙很懒还未留下介绍~
10
文章
2
问答
1
粉丝
相关问答