nginx 80域名访问必须加端口才行_四、nginx配置实例-反向代理 - jingdy

本文介绍了如何使用nginx进行反向代理,以解决访问80端口域名需加端口的问题。首先通过反向代理实例一,展示如何配置nginx使得访问ng域名跳转到Linux上的Tomcat页面。接着在反向代理实例二中,详细解释了location指令的使用,实现根据访问路径跳转到不同端口的服务,包括环境准备和测试过程。
摘要由CSDN通过智能技术生成

、反向代理实例一

  实现效果:使用 nginx 反向代理,访问ng直接跳转到linux的tomcat 页面\

8c53b46f6e6509847435a464b744a613.png

  • linux服务器中启动一个tomcat,windows浏览器地址栏输入 linuxip:8080,出现如下界面

553517e8c5383f645fe5f51550e7fb13.png

  • 通过修改windows本地 host 文件,将 ng映射到 127.0.0.1
# C:\Windows\System32\drivers\etc
192.168.116.131        ng

  配置完成之后,我们便可以通过 ng:8080 访问到第一步出现的 Tomcat 初始界面。那么如何只需要输入 ng 便可以跳转到 Tomcat 初始界面呢?便用到 nginx的反向代理。

server {
        
        listen       80;
        server_name  ng;

        location / {
                        proxy_pass   http://;
            root   html;
            index  index.html index.htm;
        }   
    }    

  如上配置,我们监听80端口,访问域名为ng,不加端口号时默认为 80 端口,故访问该域名时会跳转到 路径上。

、反向代理实例二

  实现效果:使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 9001,

(1)、环境准备

  第一步,准备两个 tomcat,在window的tomcat的webapp目录新建a目录,在里面创建,在linux的tomcat下webapp下创建b目录,在里面创建

  第二步,修改 nginx 的配置文件 在 http 块中添加 server{}

server {
        listen      9001;
        server_name  ng;

        location ~ /a/ {
                    proxy_pass   http://192.168.116.1:8080;
        }
        
        location ~ /b/ {
          proxy_pass   http://;
        }
    }

location 指令说明

  该指令用于匹配 URL。 语法如下

location [=|~|~*|^~] /uri/ { … }
  1. = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
  2. ~:用于表示 uri 包含正则表达式,并且区分大小写。
  3. ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
  4. ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

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

(2)、测试:

  注意端口开放,我目前是关闭防火墙。

  http://ng:9001/a/

eabedfc575475e3d32675d184bf804a7.png

  http://ng:9001/b/

517d659eb45516dfa25d5a922c237efb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值