我一直在尝试差不多一天没有运气将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;
}
问题是'root'指令不替换/ site1 URI。 例如,请求
www.mydomain.com/site1/folder/pic.jpg
将通过打开文件来处理:
/path/to/anothersite1/site1/folder/pic.jpg;
而不是:
/path/to/anothersite1/folder/pic.jpg
我真的很感激这方面的任何帮助。 我试图用'别名'替换'root'指令,但仍然没有运气。
事先感谢,