我有下一个设置:
主服务器主页 和额外的独立服务器(additional.com),它应该通过代理从子页面 url 提供服务,并保持相对路径等。main.com/additional
但是,尝试使用位置块设置 proxy_pass 时,我无法实现相对路径,而且静态内容也无法加载。
以下是一些代码:
server {
listen 80;
server_name main.com;
resolver %RESOLVERS%;
set $url "main.com$request_uri";
set $url_additional "https://additional.com";
if ($http_x_forwarded_proto = 'http') {
return 301 https://main.com$request_uri;
}
location /additional {
proxy_pass $url_additional;
}
location / {
rewrite ^/$ /$lang;
proxy_pass $url;
}
}
它尝试从 additional.com/additional 加载静态和索引,而不是从 additional.com 加载
我尝试使用 root 和 alias 以及一些其他参数,但没有任何帮助 :(
我错过了什么?
答案1
我按照以下方式操作:
location ~* ^/additional/(.*)$ {
proxy_pass http://additional.com/$1$is_args$args;
}