Apache + Tomcat dando erro 500 para agentes sem navegador (Struts2)

2

Eu tenho um Apache WebServer + Tomcat 7 servindo páginas da Web Struts2. Ele funciona sem problemas quando eu uso qualquer navegador da web, mas quando tento acessar uma página da web usando o validador do W3C ou o Facebook Lint, o servidor retorna o erro 500.

[28/Oct/2011:21:45:58 +0100] "GET /agenda7/event?id=124 HTTP/1.1" 200 9898 
"-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) 
AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22"

[28/Oct/2011:21:47:16 +0100] "GET /agenda7/event?id=124 HTTP/1.0" 500 6287 "-" 
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

[28/Oct/2011:21:47:42 +0100] "GET /agenda7/event?id=124 HTTP/1.1" 500 6287 "-" 
"W3C_Validator/1.2"

De alguma forma, parece que esses serviços não conseguem entender como fazer o pedido get para uma página da Web sem extensão, mas, se fosse esse o caso, o erro não deveria ser 404?

Alguma sugestão?

EDITAR:

Apenas testei isso com um mapeamento alternativo, e o problema persiste:

[28/Oct/2011:22:54:53 +0100] "GET /agenda7/event_124 HTTP/1.0" 500 6364 "-" 
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

Mas funciona com a página de índice, por exemplo -:

[28/Oct/2011:22:59:01 +0100] "GET /agenda7/ HTTP/1.0" 200 20666 "-"
"facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
    
por Tiago Matos 28.10.2011 / 22:52

2 respostas

1

Um código de status 500 significa que o código em execução no Tomcat foi com erro; você deve encontrar um rastreamento de pilha nos logs.

Tenha em mente que as solicitações desses não-navegadores serão diferentes de maneiras sutis; o hit do Facebook é HTTP/1.0 , por exemplo.

É provável que o seu código esteja procurando algo nos cabeçalhos ou nos cookies de solicitação que estejam lá com a solicitação do navegador e não nas solicitações do bot.

    
por 28.10.2011 / 23:00
0

Aposto que o site está procurando por cabeçalhos que os bots não estão definindo.

    
por 28.10.2011 / 23:05