反向代理实例一
1、要实现的效果
打开浏览器,在浏览器地址栏输入地址www.1234.com,可以跳转到Linux系统的Tomcat主页面中
2、准备工作
- 将Tomcat的安装文件放到Linux系统中、解压,然后进入Tomcat的bin目录中执行./startup.sh启动Tomcat服务器
- 对外开放访问的端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd –reload
- 查看已经开放的端口号
firewall-cmd --list-all
- 在windows系统中通过浏览器访问Tomcat服务器
3、具体配置
在windows系统的host文件中进行域名和IP对应关系的配置,host文件位置如下:
在host文件中添加以下配置:
然后打开Nginx的配置文件进行请求转发的配置(反向代理配置),如下图:
如上配置,监听80端口,访问域名为www.1234.com,不加端口号时默认为80端口,故访问该域名时会跳转到127.0.0.1:8080路径去,在浏览器端输入www.1234.com的结果如下:
4、访问过程的分析
反向代理实例二
1、要实现的效果
使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中(Nginx的监听端口为9001),访问http://Linux系统IP:9001/edu/直接跳转到127.0.0.1:8080,访问http://Linux系统IP:9001/vod/直接跳转到127.0.0.1:8081
2、准备工作
- 准备两个Tomcat服务器,一个8080端口,一个8081端口
- 在Tomcat的webapps目录下创建文件夹和测试页面,本例所创建的如下图:
3、具体配置
打开Nginx的配置文件进行反向代理配置,如下图:
注:记得要开放对外访问的端口号:9001、8080、8081
最终测试结果:
附:
location指令说明:该指令用于匹配 URL,语法如下:
location [ =|~|~*|^~ ] uri {
}
1、= :用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
2、~:用于表示uri包含正则表达式,并且区分大小写
3、~*:用于表示uri包含正则表达式,并且不区分大小写
4、^~:用于不含正则表达式的uri前,要求 Nginx 服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配
注意:如果uri包含正则表达式,则必须要有~或者~*标识