Nginx的反向代理

Nginx的反向代理

为了实现效果1.117.55.17:81/vod/index.html可以直接跳转到1.117.55.17:8080

image-20211008193424321

image-20211008193530155

运行两个tomcat

docker run -id --name:tomcat1 -p 8080:8080 镜像id
在webapps文件夹下创建/edu/index.html 并进行修改 写入你想要的html页面
docker run -id --name:tomcat2 -p 8081:8080 镜像id
在webapps文件夹下创建/edu/index.html 并进行修改 写入你想要的html页面

docker挂载并且运行

先运行容器将conf.d文件夹和nginx.conf文件都复制出来

docker run -id --name=nginx -p 80:80 镜像id 
找到文件进行复制
docker cp 容器id:/etc/nginx/conf.d conf.d
docker cp 容器id:/etc/nginx/nginx.conf nginx.conf

复制出来后

进行配置文件/conf.d/defalut.conf的修改 将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并进行挂载

docker run -di --name=nginx -p 81:80 -v ~/nginx.conf:/etc/nginx/nginx.conf -v ~/conf.d:/etc/nginx/conf.d a343d51dff65

进行验证

image-20211008194828108

image-20211008194852080

真实有效!!

Location的匹配规则

在这里插入图片描述

模式含义
location = /uri= 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern用于表示 uri 包含正则表达式,并且区分大小写。
location ~* pattern用于表示 uri 包含正则表达式,并且不区分大小写。
location /通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的defaut

注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识

image-20211008201836410

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值