文章目录
- 1.反向代理实例一
- 1.1.实验代码
- 2.反向代理实例二
- 2.1.实验代码
1.反向代理实例一
实现效果:使用nginx反向代理,访问www.123.com直接跳转到122.51.50.249:8080
1.1.实验代码
1)启动一个 tomcat,浏览器地址栏输入 122.51.50.249:8080,出现如下界面
2)通过修改本地 host文件,将 www.123.com映射到 122.51.50.249
配置完成之后,我们便可以通过 www.123.com:8080访问到第一步出现的 Tomcat初始界
面。那么如何只需要输入 www.123.com便可以跳转到 Tomcat初始界面呢?
便用到 nginx的反向代理。
server {listen 80;server_name www.123.com;location / {#root html;proxy_pass http://122.51.50.249:8080;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
重新启动nginx:
如上配置,我们监听80端口,访问域名为www.123.com,不加端口号时默认为80端口,故访问该域名时会跳转到122.51.50.249:8080路径上。在浏览器端输入www.123.com结果如下:
2.反向代理实例二
实现效果:使用nginx反向代理,根据访问的路径跳转到不同端口的服务中
nginx监听端口为9001,
访问 http://122.51.50.249:9001/edu/直接跳转到122.51.50.249:8080
访问 http://122.51.50.249:9001/vod/直接跳转到122.51.50.249:8090
2.1.实验代码
第一步,准备两个tomcat,一个8080端口,一个8090端口,并准备好测试的页面
第二步,修改nginx的配置文件
在http块中添加server{}
server {listen 9001;server_name www.123.com;location ~ /edu/ {#root html;proxy_pass http://122.51.50.249:8080;index index.html index.htm;}location ~ /vod/ {#root html;proxy_pass http://122.51.50.249:8090;index index.html index.htm;}}
Location匹配规则
模式 | 含义 |
---|---|
location = /uri | = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求 |
location ^~ /uri | ^~ 开头对URL路径进行前缀匹配,并且在正则之前。 |
location ~ pattern | 用于表示 uri 包含正则表达式,并且区分大小写。 |
location ~* pattern | 用于表示 uri 包含正则表达式,并且不区分大小写。 |
location / | 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的defaut |
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识
测试访问