У меня возникли проблемы с тем, чтобы M / Monit работал через прокси. Я пытаюсь проксировать HTTPS-соединения с https: //monit.mydomain.com на http: //monit.realserver.com:8082.
С конфигурацией ниже, если я перейду на https: //monit.mydomain.com/index.csp или на любой другой допустимый путь, все будет работать нормально. Однако, если я попытаюсь посетить только https: / /monit.mydomain.com или https: //monit.mydomain.com/, он будет перенаправлен на http: //monit.mydomain.com:8082/index.csp
[root@uk1001 conf.d]# curl -k -v --fail https://monit.mydomain.com
* About to connect() to monit.mydomain.com port 443 (#0)
* Trying 10.0.35.80... connected
* Connected to monit.mydomain.com (10.0.35.80) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* SSL connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate:
... omitted cert details ...
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.3.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: monit.mydomain.com
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
< Date: Thu, 26 Jan 2017 11:20:01 GMT
< Server: mmonit/3.5
< Content-Type: text/plain; charset=UTF-8
< Location: http://monit.mydomain.com:8082/index.csp
< Connection: close
< Transfer-Encoding: chunked
<
Вот моя конфигурация виртуального хоста:
<VirtualHost *:443 >
ServerName monit.mydomain.com
SSLEngine on
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
RequestHeader set X-FORWARDED-PROTO "https"
ProxyPass / http://monit.realserver.com:8082/ connectiontimeout=5 timeout=300
ProxyPassReverse / http://monit.realserver.com:8082/
</VirtualHost>
Страница 83 документации расскажет вам, как это сделать, посмотрите на: https://mmonit.com/documentation/mmonit_manual.pdf
Вы забыли сказать M / Мониторинг, что он будет проксифицирован и должен рекламироваться с другими данными Обратите внимание на атрибуты коннектора .
proxyScheme="https" proxyName="monit.mydomain.com" proxyPort="443"
Я знаю, что это старый вопрос, но поскольку я наткнулся на ту же проблему:
Где-то внутри Monit Configuration заголовок Location
установлен на:
http://monit.mydomain.com:8082/index.csp
Но ваша директива ProxyPassReverse
:
ProxyPassReverse / http://monit.realserver.com:8082/
прослушивает Location http://monit.realserver.com:8082/
- поэтому заголовок местоположения не изменяется.
Измените директиву на:
ProxyPassReverse http://monit.mydomain.com:8082/
и он должен работать.