我正在运行glassfish 4.1并检查http-listener-2上的JK-Listener选项:
我也已经安装了 apache (sudo yum 安装 httpd)并创建了以下文件/etc/httpd/conf.d:
/etc/httpd/conf.d/ajp.conf
ProxyPass /painel ajp://localhost:8181/painel
ProxyPassReverse /painel ajp://localhost:8181/painel
但是我尝试使用 ajp 协议时得到的只是 503 http 错误。
我错过了什么?
如果我将协议从 ajp 更改为 http 并将端口更改为 8080,它就可以正常工作。但我的想法是使用 ajp。
欢迎任何帮助。
答案1
您可能遇到了 SELinux 的问题。
默认情况下,Web 服务器只能与有限范围的端口建立出站连接:
# semanage port -l | grep http
http_cache_port_t tcp 8080, 8118, 8123, 10001-10010
http_cache_port_t udp 3130
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
端口 8181 不在该列表中。
因此您有两个选择。您可以:
将所需的端口添加到允许的端口列表中:
# semanage port -a -t http_port_t -p tcp 8181
在其中一个现有允许端口上运行 Glassfish。
答案2
我知道这是一篇旧帖子,但我遇到了同样的问题。我的问题是 selinux,在我运行以下命令后:
setsebool -P httpd_can_network_connect 1
一切正常!