欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx通过二级目录映射不同的反向代理

程序员文章站 2022-06-11 16:14:02
...

今天前后端分离项目,部署时需要通过二级目录来区分前端和后端,参考了网上文章。

前端是静态页面,当客户访问http://localhost/ ,当访问路径是 / \color{red}{/} / 时,访问的是前端页面。
后端服务接口,url 是 http://localhost/api/,当访问路径是 / a p i / \color{red}{/api/} /api/ 时,访问的是后端的服务接口

listen: 监听端口
server_name :是通配符,输入自己的域名IP
root / :静态文件所在的路径
proxy_pass:此伪指令设置侦听代理服务器的端口或套接字,以及将在其上反映位置的URI。端口可以以主机名或地址和端口名的形式表示。
proxy_redirect:如果需要修改从被代理服务器传来的应答头中的"Location"和"Refresh"字段,可以用这个指令设置
proxy_set_header:该指令允许重新定义并添加一些请求标头行,这些请求标头行将被传输到代理服务器。 作为值,可以使用文本,变量及其组合。 如果未在此级别描述其指令,则此指令从上一级继承。

nginx配置

server {
		listen       80;
		server_name  localhost;
		
		#charset koi8-r;
		
		#access_log  logs/host.access.log  main;
		
		location / {
		    root   D:/police/terminal-client; 
		    index  index.html index.htm;
		}

		location /api/ {
	    	proxy_pass      http://localhost:8888/;
            proxy_redirect  off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
       location /api2/ {
	    	proxy_pass      http://localhost:8890/;
            proxy_redirect  off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

参考资料:
https://blog.csdn.net/luweibin19/article/details/106764454