上周末,我们的 ORG 向 Redhat 服务器推送了一组重要补丁。我们的一个应用程序出现故障,我们在尝试从网络内部或外部连接它时遇到了很大的问题。
目前主要问题是:无法加载资源:net::ERR_CONNECTION_REFUSED。
我现在确信应用程序本身没有错误。之前一切都正常。我们已回滚 Redhat 补丁附带的 Apache 更新。
我需要遵循一些步骤来隔离“异常”。
我已经检查了大多数常见的事情: https://wiki.apache.org/hadoop/ConnectionRefused
我们已将 ssl.conf 文件回滚到工作时间段、httpd.conf 等。仍然没有运气。
用于访问服务器的外部 IP 地址是 123.123.123.123 如果我从该服务器上的文件中执行 phpinfo();,它显示 apache remote_addr 是 123.123.123.124
它们不应该匹配吗?
iptables 的输出:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere multiport dports mysql
ACCEPT tcp -- anywhere anywhere tcp dpt:https
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:mysql state ESTABLISHED
答案1
由于我正在使用手机,所以当没有答案时我看不到可以发表评论的地方。
我不是 Apache 专家,但我对如何解决此问题有一些建议。
1:既然你使用 iptables,尝试禁用它,看看会发生什么。命令是“service iptables stop”。
第二:您使用 SElinux 了吗?如果您不知道它是什么 - 您可能正在使用它。为了检查它是否处于活动状态,请使用命令“getenforce”- 如果输出为强制执行,则表示它处于活动状态,如果它是允许的或禁用的,则意味着它现在不起作用。
如果它是强制执行的,请尝试(出于故障排除目的)使用命令“setenforce 0”将其关闭。
尝试将两者结合起来,看看会发生什么。两者都是安全功能,因此不建议在没有它们的情况下工作。如果问题通过这种方式解决了,您就会知道去哪里查看,要么禁用某些东西,要么尝试重新配置它们以使一切正常工作。
希望我能帮到你并祝你好运