Как сохранить заголовок Типа контента Tomcat ответ HTTP, отправленный через коннектор AJP в Apache с помощью mod_proxy

У меня есть проблема с неправильным Ответом HTTP Content-Type заголовок при доступе к веб-сервису Axis2 размещается в Tomcat позади Apache через коннектор AJP/1.3.

Я могу получить доступ к веб-сервису без проблем в браузере через его интерфейс RESTful, и я вижу результаты, но так или иначе Apache изменяет ответ Content-Type заголовок, отправленный Tomcat от text/xml кому: text/plain и это препятствует тому, чтобы я использовал веб-сервис через SOAP в NetBeans, из-за Unsupported Content-Type: text/plain Supported ones are: [text/xml] исключение.

Вот является соответствующий раздел моего Apache vhosts конфигурацией:

<VirtualHost *:80>
    ServerAdmin me@myserver.example
    ServerName  myserver.example
    ServerAlias other.myserver.example

    ProxyPreserveHost On 
    SetEnv force-proxy-request-1.0 1
    SetEnv proxy-nokeepalive 1

    <Location /axis2/services>
        ProxyPass ajp://localhost:8009/axis2/services
        ProxyPassReverse ajp://localhost:8009/axis2/services
    </Location>
</VirtualHost>

И соответствующий раздел моего Tomcat server.xml:

<Connector port="8009" protocol="AJP/1.3" redirectPort="9443" />

<Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    SSLCertificateFile="path/to/bundle" 
    SSLCertificateKeyFile="path/to/key"
    SSLPassword="S3cr3t"
    proxyName="myserver.example" proxyPort="443" />

Если я получаю доступ к WS непосредственно в Tomcat с помощью коннектора по умолчанию на порте 8080, я получаю корректное content-type но если я получаю доступ к нему через Apache затем, я добираюсь text/plain, таким образом, это - определенно проблема с прокси.

Как я могу решить эту проблему?

Править: Я заставил это работать при помощи Tomcat коннектор HTTP для проксирования вместо AJP один, но я предпочту использовать mod_ajp, если я найду рабочее решение.

Я просто изменился

ProxyPass ajp://localhost:8009/axis2/services
ProxyPassReverse ajp://localhost:8009/axis2/services

строки к

ProxyPass http://localhost:8080/axis2/services
ProxyPassReverse http://localhost:8080/axis2/services
7
задан tsbnunes 4 August 2010 в 14:13
поделиться