我有一个flask服务器,运行在端口5000,我有一个域.我正在部署flask与gunicorn和nginx.我想做的是能够路由“www.mydomain.com“到一个不同的服务器,如“www.mydomain.webflow.io“,但保持所有的请求来到其他路径,如“www.mydomain.com/path1“或“www.mydomain.com/path2“到同一个nginx主机,但重定向到5000端口号。我如何配置nginx来实现这个。我需要为每个路径(在位置下)做单独的条目吗?
oxosxuxt1#
您可以执行以下操作:
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/;
您只能使用这两个选项中的一个
1条答案
按热度按时间oxosxuxt1#
您可以执行以下操作:
上面的nginx配置有两个位置块。
第一个位置块处理仅以
/
结尾的每个请求。例如:第二个位置块处理不匹配
/
的所有内容。例如:
我已包含一个选项,可将您重定向到HTTP状态代码为301(永久)的新域
第二个选项将请求传递到另一个后端。
您只能使用这两个选项中的一个