OTRS的Apache2反向代理问题

时间:2019-02-27 19:37:52

标签: apache proxy reverse-proxy otrs

我问了这个问题in OTRS forum,但是他们的主要重点是OTRS的功能,而不是与apache代理的交互。

我有一个运行OTRS(基于Perl的支持票证系统)的内部服务器。 我的DMZ中有一个反向代理,可以为内部网页/应用程序执行代理和SSL卸载。我的代理服务器是带有Apache2的Ubuntu 18。除了对OTRS而言,我会收到奇怪的页面错误外,它几乎可以正常工作。它曾经很不错,但是由于是从OTRS 5更新到OTRS6,所以它是如此糟糕,以至于我们只能登录才能登录https。

如果我使用https,它会抛出一条消息:“ OTRS已检测到可能的网络问题”,并说要重新加载页面或等到浏览器自行建立连接。如果我稍等片刻,我会收到一条新消息,指出“在临时连接断开后已重新建立连接。由于此页面上的该元素可能已停止正常工作”,它继续说您需要重新加载这页纸。但是,它只是不断循环显示这些消息,并产生拍打错误。

每次移动到新票证时,我还会获得其他斜杠(/)。 像这样:https://myotrs.mydomain.com/otrs////////////index.pl

通过代理同时在http和https上都添加了斜杠。它只会在OTRS网站上发生,而不会在由同一代理处理的其他网站上发生。

这是我的代理虚拟主机文件的示例。

<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 :(得分:0)

我已经签出了您的配置文件,建议您尝试更改

<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。然后您就陷入了循环之中。