Проблемы с обратным прокси в Apache2 с OTRS - PullRequest
0 голосов
/ 27 февраля 2019

Я задал этот вопрос на форуме OTRS , но их основной задачей является функциональность OTRS, а не взаимодействие с прокси-сервером Apache.

У меня есть внутренний сервер, на котором работает OTRS (система заявок на поддержку Perl).У меня есть обратный прокси в моей DMZ, который выполняет разгрузку прокси и SSL для внутренних веб-страниц / приложений.Мой прокси-сервер - Ubuntu 18 с Apache2.В основном это работает за исключением того, что для OTRS я получаю странные ошибки на странице.Раньше это было неплохо, но с момента обновления с OTRS 5 до OTRS6 это настолько плохо, что мы не можем зайти через https, кроме как для входа в систему.

Если я использую https, он выдает сообщение, что «OTRS обнаружил возможные проблемы в сети"и говорит перезагрузить страницу или подождать, пока браузер сам установит соединение.Если я немного подожду, я получу новое сообщение, в котором говорится, что «соединение было восстановлено после временной потери соединения. Из-за этого элементы на этой странице могли перестать работать правильно», далее говорится, что вам нужно перезагрузитьстраница.Но он продолжает циклически повторять эти сообщения с ошибкой.

Я также получаю дополнительные косые метки (/) каждый раз, когда перехожу на новый тикет.Вот так: https://myotrs.mydomain.com/otrs////////////index.pl?

Добавление косой черты происходит как по http, так и по https через прокси.Это происходит только на сайте OTRS, а не на моих других, управляемых тем же прокси.

Вот пример моего vhost-файла прокси.

<VirtualHost *:443>
ServerName help.mydomain.com
ServerAlias help.mydomain.net
ServerAdmin it@mydomain.com
ErrorLog /var/log/apache2/proxiedhosts-ssl_error.log
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel info
  CustomLog /var/log/apache2/access-ssl.log combined
ProxyRequests off
ProxyPass / http://helpdesk.mydomain.local/
<Location /otrs>
 ProxyPassReverse http://helpdesk.mydomain.local/otrs/
</Location>
<Location /otrs-web>
 ProxyPassReverse http://helpdesk.mydomain.local/otrs-web/
</Location>
# Use mod_proxy_html to rewrite URLs
  SetOutputFilter proxy-html
# commented out
https://help.mydomain.com/otrs/
https://help.mydomain.com/otrs-web/
# Disable compressed communication between Apache and target server
  RequestHeader unset  Accept-Encoding
  #   SSL Engine Switch:
  #   Enable/Disable SSL for this virtual host.
  SSLEngine on
  # Allows the proxying of an SSL connection
  SSLProxyEngine On
  # certificate
  SSLCertificateFile /etc/ssl/certs/help.mydomain.com/help.mydomain.com.crt
  SSLCertificateKeyFile /etc/ssl/private/SHA2_mydomain.key
</VirtualHost>

1 Ответ

0 голосов
/ 01 марта 2019

Я проверил ваш файл конфигурации, и я предлагаю вам попробовать изменить

<Location /otrs>
     ProxyPassReverse http://helpdesk.mydomain.local/otrs/
</Location>

на

<Location /otrs/>
     ProxyPassReverse http://helpdesk.mydomain.local/otrs/
</Location>

В исходном файле конфигурации, если вы просматриваете https://myotrs.mydomain.com/otrs/index.pl вы будете перенаправлены на https://myotrs.mydomain.com/otrs//index.pl. И затем, если вы нажмете на страницу, вы будете перенаправлены на https://myotrs.mydomain.com/otrs///index.pl. Тогда вы застряли в обращении.

...