在设置为for 的CentOS 7
服务器中,我收到一条错误,指示无法连接到。 apache httpd 2.4
ssl reverse proxy
tomcat
httpd
tomcat
如何解决此错误,以便 httpd 提供 tomcat 生成的内容?
说ssl_error_log
:
[Tue Dec 16 20:20:15.007630 2014] [proxy:error] [pid 12784] (111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:8080 (localhost) failed
[Tue Dec 16 20:20:15.007727 2014] [proxy:error] [pid 12784] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s
[Tue Dec 16 20:20:15.007752 2014] [proxy_http:error] [pid 12784] [client client.ip.address:48100] AH01114: HTTP: failed to make connection to backend: localhost
我已阅读该catalina.out
文件,它清楚地表明tomcat
我运行后成功启动了根应用程序startup.sh
。我也读过另一个帖子,这把责任归咎于SELinux
。但我确信已经/etc/sysconfig/selinux
发生了SELINUX=disabled
,所以看来我的问题是由其他原因引起的。
reverse proxy
今天早些时候工作得很好。今天在服务器上所做的唯一更改是tomcat
多次上传新版本的 root war,然后在restart tomcat
每次httpd
上传新的 root war 时停止。这可能涉及将shutdown port
输入server.xml
从 -1 更改为有效的端口号以允许tomcat
关闭。
您可以查看完整的ssl.conf
点击此链接。请注意, 是VirtualHost
在 中完全定义的ssl.conf
,而不是在 中定义的httpd.conf
。您还可以阅读完整的server.xml
点击此链接。
编辑:
遵循 IanMcGowan 的建议得到了以下结果:
[[email protected] ~]# telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
[[email protected] ~]# GET / HTTP/1.0
<HTML>
<HEAD>
<TITLE>Directory /</TITLE>
<BASE HREF="file:/">
</HEAD>
<BODY>
<H1>Directory listing of /</H1>
<UL>
<LI><A HREF="./">./</A>
<LI><A HREF="../">../</A>
<LI><A HREF=".autorelabel">.autorelabel</A>
<LI><A HREF=".readahead">.readahead</A>
<LI><A HREF="bin/">bin/</A>
<LI><A HREF="boot/">boot/</A>
<LI><A HREF="db/">db/</A>
<LI><A HREF="dev/">dev/</A>
<LI><A HREF="etc/">etc/</A>
<LI><A HREF="home/">home/</A>
<LI><A HREF="lib/">lib/</A>
<LI><A HREF="lib64/">lib64/</A>
<LI><A HREF="media/">media/</A>
<LI><A HREF="mnt/">mnt/</A>
<LI><A HREF="opt/">opt/</A>
<LI><A HREF="proc/">proc/</A>
<LI><A HREF="root/">root/</A>
<LI><A HREF="run/">run/</A>
<LI><A HREF="sbin/">sbin/</A>
<LI><A HREF="srv/">srv/</A>
<LI><A HREF="sys/">sys/</A>
<LI><A HREF="tmp/">tmp/</A>
<LI><A HREF="usr/">usr/</A>
<LI><A HREF="var/">var/</A>
<LI><A HREF="www/">www/</A>
</UL>
</BODY>
</HTML>
我还打开8080测试tomcat是否运行如下:
当我输入http : / / mydomain.com
and时http : / / my.ip.address
,浏览器没有收到任何内容。当我输入 时https : / / mydomain.com
,我收到相同的错误,指出服务不可用。
最后两行catalina.out
自从我昨天重新启动服务器以来没有改变,如下:
16-Dec-2014 20:19:35.967 INFO [localhost-startStop-1] org.apache.catalina.start$
16-Dec-2014 20:19:35.970 INFO [main] org.apache.catalina.startup.Catalina.start$ Server startup in 46065 ms
编辑#2:
为了测试 tomcat 是否正在运行,我执行了以下操作:
[[email protected]]# ps aux | grep tomcat
root 6858 0.7 18.5 3826248 1095780 ? Sl Dec12 51:03 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat/endorsed -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 12524 0.2 20.1 3891788 1187888 ? Sl Dec15 6:20 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat/endorsed -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 16404 0.2 15.0 3630784 887836 ? Sl Dec16 2:36 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/tomcat/endorsed -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 17987 0.0 0.0 112640 964 pts/0 R+ 14:20 0:00 grep --color=auto tomcat
答案1
要解决此问题,首先通过动态设置布尔值进行测试(尚未永久):
/usr/sbin/setsebool httpd_can_network_connect 1
如果有效,您可以对其进行设置,以便更改默认策略,并且此设置将在重新启动后保留:
/usr/sbin/setsebool -P httpd_can_network_connect 1