You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Stefan Löhr <lo...@topographics.de> on 2015/01/08 09:33:22 UTC
Umlaut URLs fail in Tomcat when accessed via isapi_redirect
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.
Greetings,
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
Posted by Stefan Löhr <lo...@topographics.de>.
OK.
Thanks very much!
----- Original Message -----
From: "André Warnier" <aw...@ice-sa.com>
To: "Tomcat Users List" <us...@tomcat.apache.org>
Sent: Thursday, January 08, 2015 11:56 AM
Subject: Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
> 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" <ma...@apache.org>
>> To: "Tomcat Users List" <us...@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
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
Posted by André Warnier <aw...@ice-sa.com>.
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" <ma...@apache.org>
> To: "Tomcat Users List" <us...@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
Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
Posted by Stefan Löhr <lo...@topographics.de>.
>>> 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?
Greetings,
Stefan
----- Original Message -----
From: "Mark Thomas" <ma...@apache.org>
To: "Tomcat Users List" <us...@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
Re: Umlaut URLs fail in Tomcat when accessed via isapi_redirect
Posted by Mark Thomas <ma...@apache.org>.
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