Конфигурация обратного прокси-сервера Apache

Конфигурация обратного прокси-сервера Apache

Я все еще новичок в Apache и его настройках, и у меня возникла проблема с моим веб-сервером, на котором я обслуживаю приложение Redmine на Ruby, а также статический контент.

Апач 2.2

В настоящее время настроены следующие прокси-серверы:

ProxyPass /portal https://mypage.domain.com:8181/portal
ProxyPassReverse /portal https://mypage.domain.com:8181/portal

ProxyPass /examples http://mypage.domain.com:8555/portal
ProxyPassReverse /examples http://mypage.domain.com:8555/portal

ProxyPass / balancer://redmine_cluster/
ProxyPassReverse / balancer://redmine_cluster/

<Proxy balancer://redmine_cluster>
     BalancerMember http://REDMINEMACHINENAME:3000/
</Proxy>

DocumentRoot "X:/app/Redmine/public" 

<Directory "X:/app/Redmine/public">
        Require all granted
        Options -MultiViews
</Directory>

RequestHeader set X-Forwarded-Proto "https"

При попытке доступа:

Редмайн:

mypage.domain.com

он переносит меня в Redmine. Хорошо.

/портал:

mypage.domain.com/portal

это терпит неудачу

Не найдено Запрошенный URL /portal/ не найден на этом сервере.

WEB.SERVER.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207
MY.IP.ADDRESS - - [09/Oct/2015:16:14:15 -0700] "GET /portal/ HTTP/1.1" 404 207

/Примеры

mypage.domain.com/examples

MY.IP.ADDRESS - - [09/Oct/2015:16:10:11 -0700] "GET /examples/ HTTP/1.1" 200 1285

работает


Можно ли настроить Apache так, чтобы я мог использовать

mypage.domain.com
mypage.domain.com/portal
mypage.domain.com/examples

чтобы добраться до всех мест, куда мне нужно добраться? Как?

Есть ли у вас предложения по более подходящему названию?

решение1

Это не совсем ответ, но у меня закончилось место в поле для комментариев. Я настроил вашу конфигурацию на ноутбуке. Это определенно происходит, потому что вы проксируете на https-сайт для /portal. Если вы можете отправить его на http-сайт, это немедленно исправит проблему. Я проверил и, как и вы (скорее всего), у меня включены mod_proxy и mod_proxy_connect (по крайней мере, в конфигурации), но по какой-то причине запрос не отправляется на https-сайт, независимо от порта. В Ubuntu довольно сложно увидеть, какие модули на самом деле загружены.

Не увидев никаких данных на порту на сниффере, я проверил apache2 и получил:

[pid 397] read(5, <unfinished ...> [pid 458] accept4(4, 0xa9ee615c, [128], SOCK_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)

что не очень полезно, но показывает, что абсолютно никаких запросов не делается. Вы можете поиграть с https-частью отдельно, она выдаст ту же ошибку независимо от других проксированных URL.

Связанный контент