通过nginx将主路径转发到另一个服务器



我有一个flask服务器,在端口5000上运行,我有一个域。我正在部署flask与gunicorn和nginx。我想做的是能够路由"www.mydomain.com"对另一个服务器说&;www.mydomain.webflow.io&;,但保持所有请求到其他路径说&;www.mydomain.com/path1"或";www.mydomain.com/path2"到同一个nginx主机,但是重定向到5000端口号。

我如何配置nginx为这个。我是否需要为每条路径单独填写条目(在位置下)?

你可以这样做:

server {
listen 80;
server_name example.com;
location = / {
# this location block handles only request which ends with /
# redrects to another domain
return 301 https://example.otherdomain.tld;
# proxies to another backend
# proxy_pass http://localhost:6000/;
}

location / {
# this location block handles everything else
proxy_pass http://localhost:7777/;
}
}

上面的nginx配置有两个位置块。

第一个位置块处理所有只以结束的请求。有一个/。例如:

https://example.com/
# a / is appended automatically so this works as well
https://example.com

第二个位置块处理与/不匹配的所有内容。

例如:

https://example.com/api
https://example.com/static/img.png

我已经包含了一个选项,重定向到一个新的域名与HTTP状态码301(永久)

return 301 https://example.otherdomain.tld;
# https://example.com -> https://example.otherdomain.tld;

第二个选项将请求传递到另一个后端。

proxy_pass http://localhost:6000/;

你应该只使用两个选项中的一个

相关内容

  • 没有找到相关文章

最新更新