1

我们正在尝试使用 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>

4

0 回答 0