1

我一直在尝试几乎一天没有运气将 nginx 配置为 apache 的代理反向。我希望 nginx 将提供所有静态文件,其余的将传递给 apache。

如果站点位于根域名上,那么实现这一点并不难。

例如,我已经成功设置:

www.mydomain.com

location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml|rss|txt)$ {
     root /path/to/mysite;
}

location / {
     proxy_pass 127.0.0.1:8080;
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Real-IP $remote_addr;
}

现在问题出现了,因为我想在别名中配置站点,例如:www.mydomain.com/site1

有人知道如何达到同样的目的吗?

我试过下面的配置不起作用:

location /site1 {
    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml|rss|txt)$ {
            root /path/to/anothersite1;
    }
     proxy_pass apache:8080;
     proxy_set_header Host $host;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Real-IP $remote_addr;
}

问题是“根”指令不能替换 /site1 URI。例如,请求

www.mydomain.com/site1/folder/pic.jpg

将通过打开文件来处理:

/path/to/anothersite1/site1/folder/pic.jpg;

代替:

/path/to/anothersite1/folder/pic.jpg

我真的很感激这方面的任何帮助。我试图用“别名”替换“根”指令,但仍然没有运气。

预先感谢,

4

0 回答 0