tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier ...@ice-sa.com>
Subject Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
Date Thu, 08 Jan 2015 10:56:18 GMT
Stefan Löhr wrote:
>>>> Did you add URIEncoding="UTF-8" to the AJP connector?
> Thanks Mark!
> That solved it.
> I only added URIEncoding to the 8080 Connector Port.
> 
> Why does it also have to be in the AJP connector?

because when you access Tomcat through IIS and the isapi_redirect connector, the requests

are actually goin this way :

browser - HTTP -> (IIS + isapi) -- AJP --> <Tomcat AJP Connector> --> Tomcat
+ webapp

while when you access Tomcat directly through port 8080, they go this way :

browser - HTTP -> <Tomcat HTTP:8080 Connector> --> Tomcat + webapp

AJP is a different protocol than HTTP.  It carries the same kind of information, but 
encoded in a different way. That is why you use a different Connector at the Tomcat level.
The Connector decodes the AJP-formated request, and reformats it into a standard "request

object" which Tomcat can understand.
Similarly, the HTTP Connector decodes a HTTP request, and reformats it into a similar 
"request object" which Tomcat understands.


> 
> Greetings,
> Stefan
> 
> ----- Original Message ----- From: "Mark Thomas" <markt@apache.org>
> To: "Tomcat Users List" <users@tomcat.apache.org>
> Sent: Thursday, January 08, 2015 9:45 AM
> Subject: Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
> 
> 
>> On 08/01/2015 08:33, Stefan Löhr wrote:
>>> Hello Tomcat users,
>>>
>>> I have some PDF Documents in my Servlet that contain ä,ö,ü,ß, etc. On
>>> accessing the documents like this
>>> http://hostname:8080/ServletName/test_ä.txt the tomcat initially
>>> responded with an 404. After changing the tomcat server.xml from this
>>>
>>> <Connector port="8080" protocol="HTTP/1.1"
>>> connectionTimeout="20000"
>>> redirectPort="8443" tomcatAuthentication="false"/>
>>>
>>> to this
>>>
>>> <Connector port="8080" protocol="HTTP/1.1"
>>> connectionTimeout="20000"
>>> redirectPort="8443" tomcatAuthentication="false" URIEncoding="UTF-8"/>
>>>
>>> I was able to access the documents.
>>>
>>> My Problem starts when I want to get the documents via IIS
>>> (isapi_redirect). When I call http://hostname/ServletName/test_ä.txt the
>>> Tomcat allways returns 404. (Documents without umlaut are served 
>>> correctly)
>>>
>>> The corresponding lines in the tomcat access log look like this:
>>>
>>> IP... - - [date...] "GET /ServletName/test_%C3%A4.txt HTTP/1.1" 200 6
>>> IP... - - [date...] "GET /favicon.ico HTTP/1.1" 200 21630
>>> IP... - - [date...] "GET /ServletName/test_%C3%A4.txt HTTP/1.1" 404 1001
>>>
>>> The first two lines result from accessing the documents directly
>>> (http://hostname:8080/...). The last line results from accessing trough
>>> IIS and isapi_redirect.
>>>
>>> I dont understand why the call from the isapi_redirect is treated
>>> diffenrently by tomcat despite beeing the exact same URL (from the
>>> tomcat point of view).
>>>
>>> I also postet the problem here:
>>> http://webmasters.stackexchange.com/questions/75753/umlaut-urls-fail-in-tomcat-when-accessed-via-isapi-redirect

>>>
>>>
>>>
>>> I would really appreciate any hints to solve the problem.
>>
>> Did you add URIEncoding="UTF-8" to the AJP connector?
>>
>> Mark
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message