Nginx反向代理多个域名
简介
由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口。非80端口的映射在访问的时候要域名加上端口,比较麻烦。所以我们可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用nginx反向代理将不同域名的请求转发给内网不同机器的端口,就起到了“根据域名自动转发到相应服务器的特定端口”的效果,而路由器的端口映射做到的只是“根据不同端口自动转发到相应服务器的特定端口”,真是喜大普奔啊。
Nginx配置
vim /usr/local/nginx/conf/reverse-proxy.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
server { listen 80; server_name tomcat1.vip.com; location /{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8081; #proxy_pass http://tomcat; } access_log logs/tomcat1_access.log; } server { listen 80; server_name tomcat2.vip.com; location /{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8082; #proxy_pass http://tomcat; } access_log logs/tomcat2_access.log; } |
在nginx.conf的http节点中include配置文件reverse-proxy.conf
1 2 3 4 5 6 7 8 9 10 11 12 |
http { include reverse-proxy.conf; #按server段顺序匹配,如果没有匹配到则可通过泛域名匹配返回错误码或错误页 server { listen 80; server_name *.vip.com; location /{ return 404; } } } |
测试生效
热部署nginx配置
1 2 3 |
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t; /usr/local/nginx/sbin/nginx -s reload; nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful |
在客户机的hosts中配置tomcat1.vip.com和tomcat2.vip.com (如果是已申请好的域名,则可跳过此步骤)
1 2 |
10.28.10.218 tomcat1.vip.com 10.28.10.218 tomcat2.vip.com |
从以上访问结果来看,浏览器的请求会分别引导到了tomcat1和tomcat2上。
Nginx反向代理多个域名相关推荐
- Nginx反向代理,通过域名直接访问指定的端口,比如8080
Nginx反向代理,通过域名直接访问指定的端口,比如8080 今天写微信公众号开发网络授权的时候,通过域名加接口url的方式,始终访问不到指定的接口,最后想了很久,发现是Nginx反向代理没有配置! ...
- nginx反向代理实现二级域名转一级域名
需求场景: 有两个大项目交互必须在一级域名下,每个项目有多个前端,之前采用二级或三级域名的方式导致域名过多不好维护,故由project1.service1.city.com.project1.serv ...
- nginx 反向代理配置二级域名正确姿势!!!
1. 先解释下什么是反向代理? 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代 ...
- 在一台win10系统的电脑里安装虚拟机运行CentOS7并实现nginx反向代理从而用域名访问本机的微服务项目
在虚拟机里的CentOS7安装配置nginx,之前需要一些依赖库作为编译安装的条件,具体作用和命令详情跳转我之前的博客. 安装并使用VMware-workstation-full-15.5.0安装Ce ...
- nginx反向代理地址是域名时请求不通的情况
使用nginx的反向代理,是解决跨域的一个重要方法.在nginx的配置文件中,我们通常可以看到这么一段: proxy_set_header Host $host; proxy_set_header X ...
- Nginx反向代理 设置二级域名 (CentOS)
nginx 配置 whereis nginx /usr/sbin/nginx -> 执行文件 /etc/nginx/conf.d -> 自定义.conf文件的存放位置 ...
- 通过备案的域名访问,不需要添加端口号(nginx反向代理,直接域名访问)
注意:前提是公网域名通过备案和域名解析 1.安装nginx yum install -y nginx 2.找到安装nginx.conf文件 server {listen 80;listen [::]: ...
- Nginx反向代理proxy_pass
一.概述 代理(proxy),即中间人,它代替客户端发送请求给服务器,收到响应后再转给客户端.通常意义上的代理是从用户的角度讲的,用户通过某个代理可以访问多个网站,这个代理是靠近用户的,比如某些公司可 ...
- (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容...
from :http://www.cnblogs.com/wuyou/p/3455619.html 环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: ...
最新文章
- 几种芯片架构:X86、ARM、RISC-V和MIPS
- C/S与B/S架构的区别和优缺点
- Excel VBA开发中数字签名的管理
- adams2016安装教程
- python数据可视化的特点_Python数据可视化 pyecharts实现各种统计图表过程详解
- 轻轻的你来了,悄悄的你走了,邓总没有带走一个bug
- android手机解除root,手机显示被root什么意思(手机root怎么解除)
- Java并发编程-ReentrantLock
- 距离一个优秀程序员,你还差多少?
- linux文件系统格式化
- 初学者-C语言基础练习(二)——C语言编译器的使用方法
- 结构体中的LNode与*LinkList
- 软件测试包括哪些内容
- 中国人工智能神经网络技术现状
- 好心情患者故事:节食暴食反复横跳,我确诊了重度抑郁
- opencv根据摄像头名称打开摄像头(附源码)
- pyecharts的各个系列配置项设置示例——个人整理与分享
- html文本下一页,Javascript html2canvas + jsPDF 导出PDF,解决一半文字在上一页一半文字在下一页的问题...
- Mybatis遇到的报错集合
- 概要设计和详细设计说明书的区别