Назад | Перейти на главную страницу

Прокси-сервер Apache не работает для порта localhost

У меня Apache 2.2.15 работает на порту 80, и я хочу проксировать механизм сервлета на порт localhost 8983. У меня есть установка, работающая на другом сервере, но я перешел на машину CentOS 6. На новой машине он не работает. Конфигурация моего виртуального хоста:

ProxyRequests Off

<Proxy *>
   Order deny,allow
   Allow from all
</Proxy>

ProxyPass / http://localhost:8983/
ProxyPassReverse / http://localhost:8983/

Я могу получить доступ к порту 8983, если я использую браузер и перехожу к нему напрямую (и не использую прокси-сервер Apache), но не могу подключиться к нему, если я перейду на / через сервер Apache.

Я могу изменить прокси на что-то вроде http://slashdot.org и Slashdot успешно проксируется (так что я знаю, что он вообще может прокси).

Я включил вход отладки в Apache, и это транзакция:

[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c(56): proxy: HTTP: canonicalising URL //localhost:8983/
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(1506): [client 184.39.79.7] proxy: http: found worker http://localhost:8983/ for http://localhost:8983/
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy.c(998): Running scheme http handler (attempt 0)
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c(1962): proxy: HTTP: serving URL http://localhost:8983/
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2011): proxy: HTTP: has acquired connection for (localhost)
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2067): proxy: connecting http://localhost:8983/ to localhost:8983
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2193): proxy: connected / to localhost:8983
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2444): proxy: HTTP: fam 10 socket created to connect to localhost
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2455): (13)Permission denied: proxy: HTTP: attempt to connect to [::1]:8983 (localhost) failed
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2444): proxy: HTTP: fam 2 socket created to connect to localhost
[Sun Apr 22 16:47:04 2012] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:8983 (localhost) failed
[Sun Apr 22 16:47:04 2012] [error] ap_proxy_connect_backend disabling worker for (localhost)
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(2029): proxy: HTTP: has released connection for (localhost)
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c(56): proxy: HTTP: canonicalising URL //localhost:8983/favicon.ico
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(1506): [client 184.39.79.7] proxy: http: found worker http://localhost:8983/ for http://localhost:8983/favicon.ico
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy.c(998): Running scheme http handler (attempt 0)
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c(1962): proxy: HTTP: serving URL http://localhost:8983/favicon.ico
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c(1949): proxy: HTTP: retrying the worker for (localhost)
[Sun Apr 22 16:47:04 2012] [error] proxy: HTTP: disabled connection for (localhost)

Я не знаю, что такое розетки fam 10 или fam 2. У кого-нибудь есть идеи о том, почему он не проксирует мой альтернативный порт?

Спасибо!

Я решил свою проблему:

Если я сделаю: sestatus -b | grep httpd

я могу видеть httpd_can_network_connect является off

Решение - набрать: togglesebool httpd_can_network_connect

Вот решение вашей проблемы:

Чтобы включить это логическое значение, вам просто нужно использовать эту строку (права root)

setsebool -P httpd_can_network_connect on

или

sudo setsebool -P httpd_can_network_connect on

Надеюсь, это поможет. Ссылку см. Здесь: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans

Убедитесь, что порт 8080 прослушивает, выполнив следующую команду

netstat -tlpn

Если нет, то перезапустите сервер jenkins.

sudo /etc/init.d/jenkins start

Теперь он должен работать. Надеюсь, поможет