Nginx反向代理
大约 1 分钟
Nginx反向代理
多项目共用80端口
例如: demo1.alorz.comdemo2.alorz.com 分别为两个不同项目,但是同样使用80端口 使用静态html部署时,至少需要两个server(仅为我所了解的): 第一个是用于启动一个服务项目,让其可以通过端口访问到网页(纯静态网页服务使用,如果是php等项目可以直接配置运行地址) 第二个用于代理转发 第三个可选项upstream,用于均衡负载,有需求的可以了解一下
# 均衡负载
upstream blog{
server 127.0.0.1:81;
}
# 此服务作用为启动静态服务
server {
listen 81;
location / {
root blog;
index index.html index.htm;
try_files $uri $uri/ /index.html last;
}
}
# 此服务作用于代理转发
server {
listen 80;
server_name blog.alorz.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://blog;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
同域名下的反向代理
例如: 访问 http://api.alorz.com 为网页程序 访问 http://api.alorz.com/api 为后端程序 实际后端程序应用为http://127.0.0.1:5210
server {
listen 80;
server_name api.alorz.com;
location ^~ / {
proxy_pass http://127.0.0.1:8081;
proxy_set_header Host $proxy_host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /api/ {
proxy_pass http://127.0.0.1:9001/;
proxy_set_header Host $proxy_host ;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}