Настройте Tomcat8 за Apache с HTTPS - PullRequest
       46

Настройте Tomcat8 за Apache с HTTPS

0 голосов
/ 14 декабря 2018

У меня установлен Tomcat 8 на моем сервере через порт 8080, который я предоставляю через защищенный Apache (используя Proxy Pass).

Вот моя конфигурация Apache:

<VirtualHost *:443>
    ServerName myserver.com

    ProxyRequests Off
    ProxyPreserveHost On

    ProxyPass           /odata/    http://172.31.33.105:8080/
    ProxyPassReverse    /odata/    http://172.31.33.105:8080/

    <Proxy *>
        allow from all
    </Proxy>

    RequestHeader set X-Forwarded-Port 443
    RequestHeader set X-Forwarded-Scheme https
</VirtualHost>

Здесьэто конфигурация Tomcat server.xml

<Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" 
            address="172.31.33.105" 
            proxyName="myserver.com" 
            scheme="https"  />

Все работает хорошо до тех пор, пока здесь.Если я вызываю мое заявление: https://myserver.com/odata/D3a1593adae89/odata.svc/

, я получаю:

<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="https://myserver.com:443/D3a1593adae89/odata.svc/">
<workspace>
<atom:title>Default</atom:title>
<collection href="Maintables">
<atom:title>Maintables</atom:title>
</collection>
</workspace>
</service>

Проблема: Если вы видите атрибут xml: base в результате Tomcat украшает адрес портом, и я действительно не знаю, как его удалить.Изначально без схема = "https" Tomcat оформлял xml: base как http://myserver.com.com:80.Я искал и пробовал что-то вроде установки proxyPort пустым, но ничего.

...