Nginx设置与被代理服务器上下文不一样的上下文(别名)

之前发文说前端要懂点Nginx配置,那篇的例子too easy。

这回整个稍微复杂点点的,源于我实际工作中遇到的需求:若有两个后台服务的上下文是一毛一样的,如何通过Nginx配置把它们区分开。

1. 首先建立一个文件夹,用VSCODE打开,建立目录格式如下:

server
    api
        hello
            index.html

然后在index.html里写一点东西作为接口返回。让VSCODE启动LiveServer

启动后访问URL: http://127.0.0.1:5500/api/hello

看到正常显示结果。

2. 复制server文件夹到server2,也用VSCODE起LiveServer,这时启动为http://127.0.0.1:5501/api/hello

3. 打开Nginx的配置文件,做如下配置(没有Nginx没法玩,去下一个吧):

	server {
	  listen 8888;
	  location /api {
	    proxy_pass http://127.0.0.1:5500/api/;
	  }

	  location /newapi {
	    proxy_pass http://127.0.0.1:5501/api/;
	  }
    }

然后启动,这时候再用Nginx的服务地址去访问两个接口:

http://127.0.0.1:8888/api/hello

http://127.0.0.1:8888/newapi/hello

你会看到都指向了正确的路径。

4. 我们前端的任务是根据一定的逻辑去判断是调新服务还是老服务,由于上下文是区分开的,你可以很容易写两个api函数,传URL参数时按需传api或是newapi,就能区分开了。

5. 有一个小思考题:如果第二个上下文newapi,改成api2,效果如何?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值