Apache RewriteRule 502 在开发服务器上出现错误,但在实时服务器上有效

Apache RewriteRule 502 在开发服务器上出现错误,但在实时服务器上有效

我使用的是 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

如果我遗漏了任何相关信息,请见谅,并感谢您的任何建议。

答案1

讯息

原因:localhost.example.com 的 DNS 查找失败

表示服务器无法解析代理模块将请求重定向到的主机名。

确保您的/etc/hosts文件中存在正确的条目。

相关内容