【问题标题】:Nginx static frontend + dynamic redirect to apache in backend [closed]Nginx静态前端+动态重定向到后端的apache [关闭]
【发布时间】:2012-12-02 23:03:41
【问题描述】:

我正在尝试做一件非常简单的事情: Nginx 找到 *.php => 重定向到 Apache Nginx 找到 *.jpg => 尝试静态,如果不存在 => 重定向到 Apache

但是如果不复制代码我找不到解决方案:

    location ~* \.(css|js|png|jpeg|gif)$ {
            access_log off;
            expires 30d;
            try_files $uri @proxy;
    }

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

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

我想说在 location / 中使用@proxy location,但找不到如何执行此操作。有什么想法吗?

谢谢。

科尔科

【问题讨论】:

    标签: apache static proxy nginx location


    【解决方案1】:

    我还采用的一种减少重复代码的解决方案是将所有代理设置放在服务器块中(或在辅助文件中,如本例中的http://wiki.nginx.org/FullExample),并在位置中只保留proxy_pass。 要将 IP 也放在一个地方,您可以使用上游(它是默认模块): http://wiki.nginx.org/HttpUpstreamModule

    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    upstream _backend {
        server 127.0.0.1:8080;
    }
    
    location ~* \.(css|js|png|jpeg|gif)$ {
        access_log off;
        expires 30d;
        try_files $uri @proxy;
    }
    
    location / {
        proxy_pass http://backend;
    }
    
    location @proxy {
        proxy_pass http://backend;
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多