1.实现目标
反向代理,举个例子,就是多个域名A记录为同一台服务器,同时访问80端口,但是服务器可以自动将其分配到本地的8000,8080等端口
举例:访问imustctf.top
,会指向该域名A记录IP的127.0.0.1:8000
端口
2.实操开始
目前 WWW 目录下存在两个静态前端站点
先配置 seelgo 项目,他只是一个php管理的前端页面,没有额外的后端服务器,所以配置很简单:
server {
listen 88;
server_name seelgo;
# 指定前端项目所在的位置
location / {
root D:/CStools/phpstudy_pro/WWW/seelgo;
index index.html index.htm;
}
}
访问88端口试试:
再配置 secureqr 项目,它是一个前后端分离架构的项目,存在一个额外的后端服务器,所以需要配置location
进行转发:
server {
listen 8689;
server_name secureqr;
# 指定前端项目所在的位置
location / {
root D:/CStools/phpstudy_pro/WWW/secureqr;
index index.html index.htm;
}
location /api/ {
# 开启重写日志记录,这个会记录在error.log里面,级别为notice
rewrite_log on;
# 重写规则,可根据实际情况调整。
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8589;
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;
}
}
访问8689端口试试: