Nginx location proxy pass 主页一个地方,其他所有路由,另一个地方
Nginx location proxy pass homepage one place, all other routes, another place
我需要你的帮助,我一直无法找到执行此操作的确切方法。
我只想将我的主页发送到一个 proxypass 位置
location / {
proxy_pass http://website;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
然后将所有其他路由(我不知道它们都是什么,它将是动态的)发送到另一个代理通道。
location /* {
proxy_pass http://interaction;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
我知道 * 是错误的(因为它不起作用),但它只是代表 /anything 或 /whatever 或 /idontknowyet
感谢您的帮助!
您不清楚哪些 URI 构成了您的主页(/ 除外)。
假设不需要资源文件,也没有发生重定向,可以使用完全匹配位置块来匹配主页,使用默认位置块来匹配其他所有内容:
location = / {
proxy_pass http://website;
...
}
location / {
proxy_pass http://interaction;
...
}
详情见this document。
但是可能还有其他的URI(比如css和js文件)构成了首页。您也需要为这些添加位置块,或者可能使用匹配主页所需的所有 URI 的正则表达式位置块。
我需要你的帮助,我一直无法找到执行此操作的确切方法。
我只想将我的主页发送到一个 proxypass 位置
location / {
proxy_pass http://website;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
然后将所有其他路由(我不知道它们都是什么,它将是动态的)发送到另一个代理通道。
location /* {
proxy_pass http://interaction;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
我知道 * 是错误的(因为它不起作用),但它只是代表 /anything 或 /whatever 或 /idontknowyet
感谢您的帮助!
您不清楚哪些 URI 构成了您的主页(/ 除外)。
假设不需要资源文件,也没有发生重定向,可以使用完全匹配位置块来匹配主页,使用默认位置块来匹配其他所有内容:
location = / {
proxy_pass http://website;
...
}
location / {
proxy_pass http://interaction;
...
}
详情见this document。
但是可能还有其他的URI(比如css和js文件)构成了首页。您也需要为这些添加位置块,或者可能使用匹配主页所需的所有 URI 的正则表达式位置块。