Apache代理偶尔会使用VAADIN webapp返回http 403

时间:2015-01-19 16:44:46

标签: apache proxy vaadin http-status-code-403

我尝试配置Apache,以便充当我在Tomcat服务器上部署的VAADIN(版本7.3.6)应用程序的代理。

配置似乎最初工作得很好。我可以登录并使用该应用程序。但是,在应用程序中点击几下后,VAADIN会发出通知: "无法从服务器读取UIDL。检查servlet映射。错误代码:403"。

出现此消息后我尝试重新加载页面(在浏览器中点击F5)我再也无法访问webapp,导致403错误。当我等待几秒钟并重新加载整个页面时(F5),我可以再次访问webapp。成功登录后点击几下就会一次又一次地导致相同的情况。

当出现错误时,在Apache错误日志中找到以下行:

  1. (仍然在应用程序中): [错误]客户端被服务器配置拒绝:proxy:http:// 172.16.1.107:8080/UIDL/,referrer:https://www.mydomain.ch/

  2. (点击F5后,页面被完全拒绝): [错误]客户端被服务器配置拒绝:代理:http:// 172.16.1.107:8080 /

  3. Apache配置如下:(该站点应该仅作为HTTPS提供)

    <VirtualHost *:80>
      ServerName www.mydomain.ch
    
      HostnameLookups Off
      UseCanonicalName Off
    
      ProxyRequests Off
    
      Redirect /VAADIN/  https://www.mydomain.ch/VAADIN/
      Redirect /UIDL/    https://www.mydomain.ch/UIDL/
      Redirect /         https://www.mydomain.ch/
    </VirtualHost>
    
    
    <VirtualHost _default_:443>
      SSLEngine on
      SSLProxyEngine on
      SSLCertificateFile ...
      SSLCertificateKeyFile ...
    
      SSLProtocol all -SSLv2
      SSLHonorCipherOrder On
      SSLCipherSuite ...
      SetEnv no-gzip
    
      ServerName www.mydomain.ch
      ProxyRequests Off
    
      ProxyPass /VAADIN/    http://172.16.1.107:8080/VAADIN/
      ProxyPass /UIDL/  http://172.16.1.107:8080/UIDL/
      ProxyPass /       http://172.16.1.107:8080/
    
      ProxyPreserveHost on
      ProxyPassReverseCookiePath / /
    
      <Proxy *>
        Order deny,allow
        Allow from all
      </Proxy>
    
    </VirtualHost>
    

0 个答案:

没有答案