IIS 7 URL Reescreva para o GeoServer em execução no Apache

1

Estou construindo um aplicativo de mapeamento baseado em OpenLayers que usa o GeoServer para servir dados de mapeamento. O problema que estou tendo é que, além das imagens do mapa que estou solicitando através do WMS, estou usando o jQuery AJAX para obter informações do GeoServer. Como o GeoServer está sendo executado em uma porta diferente, minhas solicitações estão sendo bloqueadas devido a políticas de segurança de script entre sites em JavaScript.

Como um aplicativo Java, o GeoServer é executado no Apache na porta 8080, enquanto a instância do IIS é executada na porta 80 . Em vez de criar um proxy, decidi usar o URL Rewriting no IIS7 para corrigir esse problema. Estou seguindo este guia , mas ainda não está funcionando. Estas são as configurações de regra de regravação de URL:

  • URL de correspondência : (.*)
  • Condição : {HTTP_URL} correspondência /geoserver
  • Ação : reescreva para http://localhost:8080/{R:1} , anexando a string de consulta

Quando eu solicito http://localhost/geoserver/wms?QUERY_LAYERS=SanDiego:FWSA_sandiego&LAYERS=SanDiego:FWSA_sandiego&SERVICE=WMS&VERSION=1.1.1&FEATURE_COUNT=20&REQUEST=GetFeatureInfo&EXCEPTIONS=application/vnd.ogc.se_xml&BBOX=-13009123.590156,3862057.2905992,-13006066.109025,3865114.7717302&INFO_FORMAT=text/html&x=20&y=20&width=40&height=40&srs=EPSG:900913 , no entanto, tudo que recebo é um 404, embora o mesmo pedido na porta 8080 retorne o resultado adequado.

O que estou fazendo de errado? Agradecemos antecipadamente.

    
por Maxim Zaslavsky 25.12.2010 / 01:02

2 respostas

2

Para a condição, experimente {URL} em vez de {HTTP_URL} e, para a ação, certifique-se de que seja um redirecionamento em vez de uma reescrita.

    
por 25.12.2010 / 06:15
0

A mesma regra está pegando o pedido para 8080 e tentando reescrevê-lo ad infinitum? Embora eu suponha que um tempo limite ou um erro de comprimento de querystring seria o resultado esperado, se fosse, em vez de um 404.

Você está usando o Rastreamento de Solicitações Falhadas? Usando o Fiddler? Rastreando o http.sys?

    
por 25.12.2010 / 13:27