我将实现一个 nginx 反向代理。heroku 中有两台服务器,一台名为 myapp.herokuapp.com,另一台名为 blog.herokuapp.com。域名为 www.mydomain.com,它链接到我的 nginx 服务器。在 nginx 服务器中,重定向规则如下:www.mydomain.com 链接到 myapp.herokuapp.com,而 www.mydomain.com/* 将链接到 myapp.herokuapp.com/* 但是当客户访问 www.mydomain.com/blog 时,www.mydomain.com/blog/* 将链接到 blog.herokuapp.com 和 blog.herokuapp.com/*。
是否可以使用 nginx 反向代理实现?您对此有什么想法吗?
目前我可以从 80 重定向到 443
server{
listen 80;
server_name www.mydomain.com mydomain.com;
return 301 https://$host$request_uri;
}
server{
listen 443;
server_name www.mydomain.com mydomain.com;
location /{
(how to change the location rules?)
}
}
答案1
您可以拥有以下位置块:
location ~ /blog(/.+)$ {
proxy_pass http://blog.herokuapp.com$1;
}
location / {
proxy_pass http://myapp.herokuapp.com;
}