Nginx 通过反向代理请求索引

Nginx 通过反向代理请求索引

我正在为 nginx+apache 进行测试设置。我让 nginx 监听端口 80,让 apache 监听端口 8080。Nginx 设置为处理静态内容,而 apache 设置为处理动态内容(至少在我们升级到 php 5.3 之前)。我的 apache 设置运行良好,以下是 nginx 的服务器部分:

server {

    listen           80;
    server_name  mediocregopher-test;
    index test.php;

    location ~ \.php$ {
        proxy_pass   http://127.0.0.1:8080;
    }

    location ~ /\.ht {
        deny  all;
    }

    location / {
        root   /var/www/html;
    }
}

问题是,当有人请求“mediocregopher-test:80/”时,我的索引页 (test.php) 需要作为“127.0.0.1:8080/test.php”代理到 apache。使用此设置不会发生这种情况。我对 nginx 还不太熟悉,但我四处寻找,找不到任何可以解决这个问题的设置(尽管问题看起来很简单)。有什么建议吗?

我正在使用 nginx 1.0.1,如果这完全相关的话。

答案1

添加

location = / {
  proxy_pass http://127.0.0.1:8080/test.php;
}

答案2

一旦 Nginx 意识到请求的 URL 以以下地址结尾,它就会将请求发送给 Apache:.php,因此您应该在 Apache 配置文件中添加以下行:

DirectoryIndex test.php

您可以找到有关以下方面的更多信息目錄索引以及此 URL 上的作用域:

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex

相关内容