Проксі-сервер Apache не працює для порту localhost


16

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

Вимоги проксі вимкнено

<Проксі *>
   Наказ відмовити, дозволити
   Дозволити від усіх
</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): проксі: HTTP: URL-адреса для канонізації // localhost: 8983 /
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (1506): [клієнт 184.39.79.7] проксі: http: знайдений робочий http: // localhost: 8983 / для http: // localhost: 8983 /
[Вс 22 квітня 16:47:04 2012] [налагодження] mod_proxy.c (998): Запуск схеми обробки http http (спроба 0)
[Вс 22 квітня 16:47:04 2012] [налагодження] mod_proxy_http.c (1962): проксі: HTTP: URL-адреса http: // localhost: 8983 /
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (2011): проксі: HTTP: набув зв’язок для (localhost)
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (2067): проксі: підключення http: // localhost: 8983 / до localhost: 8983
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2193): проксі: підключено / до localhost: 8983
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2444): proxy: HTTP: fam 10 socket створений для підключення до localhost
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2455): (13) В дозволі відхилено: proxy: HTTP: спроба підключення до [:: 1]: 8983 (localhost) не вдалося
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (2444): проксі: HTTP: socket fam 2, створений для підключення до localhost
[Вс 22 квітня 16:47:04 2012] [помилка] (13) В дозволі відмовлено: проксі: HTTP: спроба підключення до 127.0.0.1:8983 (localhost) не вдалося
[Вс 22 квітня 16:47:04 2012] [помилка] ap_proxy_connect_backend відключення працівника для (localhost)
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (2029): проксі: HTTP: випустив з'єднання для (localhost)
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c (56): проксі: HTTP: URL-адреса канонізації //localhost:8983/favicon.ico
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (1506): [клієнт 184.39.79.7] проксі: http: знайдений робочий http: // localhost: 8983 / для http: // localhost: 8983 / favicon.ico
[Вс 22 квітня 16:47:04 2012] [налагодження] mod_proxy.c (998): Запуск схеми обробки http http (спроба 0)
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy_http.c (1962): проксі: HTTP: URL-адреса http: // localhost: 8983 / favicon.ico
[Вс 22 квітня 16:47:04 2012] [налагодження] proxy_util.c (1949): проксі: HTTP: повторний пошук робочого для (localhost)
[Вс 22 квітня 16:47:04 2012] [помилка] проксі: HTTP: вимкнено підключення для (localhost)

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

Спасибі!


Проксі-сервер Apache дозволить лише трафіку HTTP або HTTPS проходити через нього.
ionFish

Відповіді:


7

Ось вирішення вашої проблеми:

Щоб увімкнути цей булевий код, вам просто потрібно використовувати цей рядок (root права)

setsebool -P httpd_can_network_connect on

або

sudo setsebool -P httpd_can_network_connect on

Сподіваюся, що це допомагає. Довідку дивіться тут: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans


11

Я вирішив своє питання:

Якщо я: sestatus -b | grep httpd

Я бачу httpd_can_network_connectцеoff

Рішення полягає в введенні: togglesebool httpd_can_network_connect


4
Не впевнений, звідки toggleseboolпоходить (не в моєму CentOS7-мінімальний), і в Інтернеті висловлюється думка, що навіть якщо у вас togglesebool є зміни, змінюються лише значення "в пам'яті" . Але setsebool -P httpd_can_network_connect=1для мене працювали; натяк!
jwd630

1

Переконайтесь, що порт 8080 прослуховує, виконавши наступну команду

netstat -tlpn

Якщо ні, то перезавантажте сервер jenkins

sudo /etc/init.d/jenkins start

Це має працювати зараз. Сподіваюся, це допомагає

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.