服务器之家

服务器之家 > 正文

详解nginx同一端口监听多个域名和同时监听http与https

时间:2019-11-27 16:12     来源/作者:lqh

详解nginx同一端口监听多个域名和同时监听http与https

1、同一端口监听多个域名

如今公网ip资源越来越珍贵,多域名监听应用非常广泛,就是用一个端口,比如80或者443,监听多个入口域名。如下:

?
1
2
3
4
5
6
7
server {
   listen 443 ssl;
   server_name xxx.xxx.cn;
   ssl_certificate     ssl/server.pem;
   ssl_certificate_key ssl/server.key;
   ......
 }

在启用新的域名的时候,只需要另启一个server配置文件,丢在vhosts目录下即可,不会报端口被占,这个维护nginx的大部分人都知道。但是,这里有个地方要注意:不能跨nginx实例。很多同事习惯在同一虚机或者云主机下安装多个nginx实例,如果你在实例1里面用了某个端口,再在实例2里面用这个端口绑不同域名,那对不起了,报错妥妥的出来:

?
1
2
nginx: [emerg] bind() to 0.0.0.0:xxxx failed (98: Address already in use)
nginx: [emerg] still could not bind()

个人建议:不在同一台虚机或者云主机下安装多个nginx实例,

2、http和https同时监听

这种需求还是挺多的,有时候我们的证书需要安装在A10或者F5这类硬负载均衡上,此时,DMZ区的服务器不需要安装证书,只需要监听http端口即可。但与此同时,内网dns直接将A地址指到了服务器,此时又需要在服务器上安装证书。这种场景,就需要服务器同时对http和https端口进行监听,监听https口是为了解析内网https域名,监听http口是为了反向代理从DMZ区过来的http请求。如此,可实现内外网https域名统一。

配置如下:   

?
1
2
3
4
5
6
7
8
server {
    listen    8080;
    listen    443 ssl;
    server_name xxx.xxx.cn;;
    ssl_certificate   ssl/server.pem;
    ssl_certificate_key ssl/server.key;
    ......
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://weikle.blog.51cto.com/3324327/1907852

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部