序
有一台ng配置了xixicat.com的域名,端口为80;另外一台ng配置的具体的业务服务,比如/article,其端口为8080.
配置
server {
listen 80;
server_name xixicat.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.99.100:8080 ;
}
}
article服务
server {
listen 8080;
server_name xixicat.com;
location / {
return 301 /article ;
}
location /article {
alias html/article;
index index.html index.htm;
}
}
问题及方案
此时如果访问xixicat.com/article,则301到xixicat.com:8080/article,这个不是我们想要的,如何解决呢
server {
listen 80;
server_name xixicat.com;
proxy_redirect http://xixicat.com:8080/ /;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.99.100:8080 ;
}
}