Apache-2.2

Nginx 通過反向代理請求索引

  • May 21, 2019

我正在為 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)需要代理到 apache 為“127.0.0.1:8080/test.php”。使用此設置不會發生這種情況。我對 nginx 很陌生,但我環顧四周,找不到任何可以解決這個問題的設置(儘管問題很簡單,看起來很簡單)。有什麼建議麼?

我正在使用 nginx 1.0.1,如果這完全相關的話。

添加

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

一旦 Nginx 意識到請求的 URL 以**.php 結尾**,它就會立即將請求發送到 Apache ,因此您應該將以下行添加到您的 Apache 配置文件中:

DirectoryIndex test.php

您可以在此 URL 上找到有關DirectoryIndex及其範圍的更多資訊:

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

引用自:https://serverfault.com/questions/287331