详解nginx同一端口监听多个域名和同时监听http与https
2019/7/10 21:00:52
本文主要是介绍详解nginx同一端口监听多个域名和同时监听http与https,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
详解nginx同一端口监听多个域名和同时监听http与https
1、同一端口监听多个域名
如今公网ip资源越来越珍贵,多域名监听应用非常广泛,就是用一个端口,比如80或者443,监听多个入口域名。如下:
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里面用这个端口绑不同域名,那对不起了,报错妥妥的出来:
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域名统一。
配置如下:
server { listen 8080; listen 443 ssl; server_name xxx.xxx.cn;; ssl_certificate ssl/server.pem; ssl_certificate_key ssl/server.key; ...... }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
这篇关于详解nginx同一端口监听多个域名和同时监听http与https的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-29fail2ban nginx
- 2024-03-18install nginx proxy manager
- 2024-01-2444从零开始用Rust编写nginx,命令行参数的设计与解析及说明
- 2024-01-22比Nginx更好用的Gateway!
- 2024-01-17nginx daemon off
- 2023-12-30Nginx Vhost Traffic Status 是什么意思-icode9专业技术文章分享
- 2023-12-26使用nginx搭建creates.io镜像(稀疏索引)
- 2023-11-18centos7编译安装Nginx教程。
- 2023-11-02nginx启动命令和停止命令
- 2023-10-25Centos7系统Nginx负载均衡如何安装和配置?