晚上好,我是 nginx 的新手,我阅读了一些内容,对重定向和重写有点困惑,我正在寻找一种将 www.abc.com:3000 更改为 www.abc.com/login 的方法
location /login {
proxy_pass http://0.0.0.0:3000;
rewrite ^/login/(.*) /$1 break;
root /folder/subfolder/new/;
index login.html;
}
我需要修复什么?
谢谢
答案1
您可以按照以下方式处理。
server {
server_name www.abc.com;
listen 3000;
return 301 $scheme://www.abc.com/login;
}
server {
server_name www.abc.com;
listen 80;
location /login {
<you config here>
}
}
您看到的第一个块在请求server
时监听请求并将其重定向到。然后,第二个块在请求时监听请求,如果是,则由该块处理port 3000
www.abc.com
www.abc.com/login
server
port 80
www.abc.com
uri
login
location
/login
proxy_pass
如果您有一个不想直接暴露给互联网的应用程序,则倾向于使用。在这种情况下,您会监听端口 80,并将该请求内部传递到同一服务器或不同服务器上的端口 3000。