目录
一、反向代理实例(一)
1、前期准备工作
1、实现效果
(1)、打开浏览器,在浏览器地址栏输入地址www.tomcat.com,跳转linux系统tomcat主页面中
2、准备工作
(1)、参考Nginx学习&部署环境(一) 安装Nginx完成
(2)、在linux系统安装tomcat,使用默认端口8080/或者在windows安装tomcat/或者docker中安装tomcat都可以,需要对外开放8080端口,或者关闭linux防火墙
3、访问过程的分析
4、修改host文件
C:\Windows\System32\drivers\etc\host
添加
192.168.0.185 www.tomcat.com
此时依旧能访问
2、在Nginx进行反向代理配置
1、在Nginx配置文件nginx.conf文件中进行修改
server {
listen 80; # 默认对外暴露80端口
server_name 192.168.0.185; #1.修改为IP
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://127.0.0.1:8080; #2.增加对应访问路径跳转
index index.html index.htm;
}
2、修改完配置文件,重启Nginx
测试:默认不加端口号(80),也会访问到tomcat首页,实现了反向代理的效果
二、反向代理实例(二)
1、前期准备工作
1、实现效果
使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中。
Nginx监听端口为9001,
访问http://127.0.0.1:9001/tomcat1 直接跳转到127.0.0.1:8080
访问http://127.0.0.1:9001/tomcat2 直接跳转到127.0.0.1:8081
2、准备工作
再创建一个tomcat8081服务器
创建tomcat1.html文件内容如下
<h1>tomcat1 8080!</h1>
创建tomcat2.html文件内容如下
<h1>tomcat2 8081!</h1>
在tomcat 8080端口下webapps文件夹下创建tomcat1文件夹并把tomcat1.html文件拷贝到此文件夹下。
在tomcat 8081端口下webapps文件夹下创建tomcat2文件夹并把tomcat2.html文件拷贝到此文件夹下。
2、在Nginx进行反向代理配置
1、在Nginx配置文件nginx.conf文件中进行修改
server {
listen 9001; #对外暴露端口
server_name 192.168.0.185;
location ~ /tomcat1/ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /tomcat2/ {
proxy_pass http://127.0.0.1:8081;
}
}
2、修改完配置文件,重启Nginx
测试:
==============================================
location命令说明:
location [ = | ~ | ~* | ^~ ] uri {
}
1、= :用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,
就停止继续向下搜索并立刻处理该请求。
2、~ :用于表示uri包含正则表达式,并且区分大小写。
3、~* :用于表示uri包含正则表达式,并且不区分大小写。
4、^~ :用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字符串
匹配度最高的location后,立即使用此location处理请求,而不再使用location块
中的正则uri和请求字符串做匹配。
注意:如果uri包含正则表达式,则必须要有 ~ 或者 ~* 标识。