Nginx 在 StayLife 的一些应用
需求:将 m.69night.cn/mapi 所有请求转发到 api.staylife.cn
修改 /usr/local/nginx/conf/vhost/69night.conf
location /mapi/
{
# 尾部的斜杠不能少,目的是不用把 /mapi 这个路径转发出去
proxy_pass https://qa.api.staylife.cn/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log /home/wwwlogs/69night_mapi.log access;
}
值得一提的是,原来我们用的 rewrite 来转发。当 POST 请求时,对于内部的 URL(斜杠开头)转发时,POST 数据不会丢失。对于外部跳转,实际上是一次 GET 302,所以会丢失第一次的 POST 数据。
location /mapi/ {
rewrite ^ https://qa.api.staylife.cn/;
}
参考文章: