我们正在尝试使用 nginx 作为代理。我们的应用程序有一个 pylons 框架,它使用 paste 来传递资源。
以下是我们对 nginx 的配置:
server {
listen 80;
server_name www.vvidiacom.com;
access_log /var/log/nginx/localhost.access_log main;
client_max_body_size 1500M;
root /myhome/myapp/myapp/public;
location /web {
proxy_pass http://192.168.1.124:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxyPassReverse /web http://myserver:8080;
}
location /media {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.124:8080/media;
#proxyPassReverse /web http://myserver:8080;
}
#location ~*/(appearance)/ {
# root /myhome/myapp/data;
#proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Server $host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxyPassReverse http://myserver:8080;
# break;
# }
# location ~*(/images\/media|images\/podcasts) {
# root /myhome/myapp/data;
# proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Server $host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxyPassReverse http://myserver:8080;
# break;
# }
# location ~*/(styles|scripts|images)/ {
#root /myhome/myapp/myapp/public;
# proxy_set_header X-Forwarded-Host $host;
# proxy_set_header X-Forwarded-Server $host;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxyPassReverse http://myserver:8080;
# expires max;
# add_header Cache-Control "public";
# break;
# }
#location /__myapp_serve__ {
# alias /myhome/myapp/myapp/data/media;
# internal;
#}
}
不知何故,css 文件和图像没有被传递。
我们尝试了以下机制: 1. 将 Nginx 配置为纯代理,其中所有资源都将由 paster 传递。2. 配置 Nginx,使 nginx 交付静态资源,其余通过粘贴交付。两者都不为我们工作。不知何故,静态资源(如 css、图像)没有得到交付。我们的场景如下所示:
文件路径实际上在 URL 中以 web 为前缀:因此,如果 URL 是 /web/data/images,那么实际路径将是 $ROOT/data/images。
我们之前使用的是 Apache,其中选项 1(如上所述工作正常)。
我们是 nginx 的新手。如果您能告诉我们我们做错了什么以及上述原因可能是什么,我们将不胜感激。
期待您的回复和帮助……</p>