Назад | Перейти на главную страницу

Перезапись URL-адреса IIS 7 на GeoServer, работающий на Apache

Я создаю картографическое приложение на основе OpenLayers, которое использует GeoServer для обслуживания картографических данных. У меня проблема в том, что помимо изображений карт, которые я запрашиваю через WMS, я использую jQuery AJAX для получения информации от GeoServer. Поскольку GeoServer работает на другом порту, мои запросы блокируются из-за политик безопасности межсайтового скриптинга в JavaScript.

Как приложение Java, GeoServer работает на Apache на порту 8080, а мой экземпляр IIS работает на порту 80. Вместо создания прокси я решил использовать перезапись URL-адресов в IIS7 чтобы исправить эту проблему. я следую это руководство, но он по-прежнему не работает. Вот мои настройки правила перезаписи URL:

Когда я прошу 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Однако все, что я получаю, это 404, хотя тот же запрос на порт 8080 возвращает правильный результат.

Что я делаю не так? Заранее спасибо.

В качестве условия попробуйте {URL} вместо {HTTP_URL}, а для действия убедитесь, что это перенаправление, а не перезапись.

Это же правило принимает запрос на 8080 и пытается его переписать до бесконечности? Хотя я полагаю, что ожидаемым результатом были бы тайм-аут или ошибка длины строки запроса, а не ошибка 404.

Вы используете отслеживание неудавшихся запросов? Используете Fiddler? Отслеживание http.sys?