NGINX作为贴纸的反向代理

时间:2012-11-24 12:05:26

标签: nginx

我们正在尝试使用nginx作为代理。我们的应用程序有一个pylons框架,它使用paster来提供资源。

以下是我们对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,images)没有得到传递。我们的场景如下:

文件路径实际上是由URL中的网址加上前缀: 因此,如果URL是/ web / data / images,那么实际路径将是$ ROOT / data / images。

我们之前使用的是选项1(如上所述,工作正常)。

我们是nginx的新手。我们真的很感激,如果你能告诉我们我们做错了什么以及上述原因是什么。

期待您的回复和帮助......

0 个答案:

没有答案