Apache-2.2

開發伺服器上的 Apache RewriteRule 502 錯誤,可實時執行

  • October 28, 2015

我在 Apache 2.2.15 上。我的 vhost.conf 包含一個 RewriteRule 來處理文章 URL;

# handling for neat article titles
RewriteRule ^/news/[0-9]{4}/[A-za-z]{3}/([0-9a-zA-Z-]*)/([0-9]{4})([0-9]{6})/?$ "/news/article.cfm?clk=$2&article_id=$3&urltitle=$1" [P,L]

這在我們的實時伺服器上正常工作,但是在我的本地開發伺服器上,當我嘗試載入文章時,瀏覽器中出現 502 錯誤:

Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /news/2015/news-article/0123012345.

Reason: DNS lookup failure for: localhost.example.com

Apache/2.2.15 (CentOS) Server at localhost.example.com Port 80

這是我在錯誤日誌中得到的;

[Wed Oct 28 10:00:25 2015] [error] [client 192.168.1.66] proxy: DNS lookup failure for: localhost.example.com returned by /news/2015/news-article/0123012345, referer: http://localhost.example.com/

這讓我相信本地伺服器的配置中一定有一些不同的東西導致它出現問題。

這些是我啟用的 Apache 模組;

$ apachectl -M | grep proxy
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_ajp_module (shared)
proxy_connect_module (shared)
Syntax OK
$ apachectl -M | grep rewrite
rewrite_module (shared)
Syntax OK

對不起,如果我遺漏了任何相關資訊,感謝任何建議。

訊息

原因:DNS 查找失敗:localhost.example.com

表示伺服器無法解析代理模組將請求重定向到的主機名。

確保您的/etc/hosts文件中有正確的條目。

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