Я все еще новичок в Apache и его конфигурациях, и у меня возникла проблема с моим веб-сервером, на котором я обслуживаю Redmine, приложение Ruby, а также статический контент.
Apache 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"
При попытке получить доступ:
Redmine:
mypage.domain.com
это приводит меня к Redmine. Хорошо.
/портал:
mypage.domain.com/portal
это не удается
Не найден Запрошенный URL / портал / не найден на этом сервере.
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
чтобы добраться до всех мест, куда мне нужно добраться? Как?
Есть предложения по поводу более подходящего названия?
Это не совсем ответ, но у меня закончилось место в поле для комментариев. Я настроил ваш конфиг на ноутбуке. Это определенно происходит, потому что вы проксируете 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-адресов.