2016-12-20 9 views
1

CentOS 7 работает Apache 2.4.6 выступает в качестве центрального фронтального веб-сервера в Интернете. Таким образом, у него есть несколько настроек обратного прокси-соединения. Все они указывают на другие LAMP и отлично работают. Однако у меня есть один сервер IIS, на котором запущен один из них .Net/ASP-сайты, которые просто не хотят правильно загружаться. Используя приведенную ниже конфигурацию на Apache, веб-сайт IIS загружает все содержимое css html &.Apache Обратный прокси-сервер для IIS

<VirtualHost *:80> 
    SeverName example.com 
    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyPass /extDirectory/ http://internalserver/internalDirectory/ 

    <Location /extDirectory/ > 
     ProxyPassReverse http://internalserver/internalDirectory/ 
     Order allow,deny 
     Allow from all 
    </Location> 

</VirtualHost> 

Однако, похоже, есть казус SESSIONID на скриншоте, а доступ к сайту извне: External-gets-error

По сравнению с обращающегося же сайта внутренне: internal-is-OK

журнала Apache и что я могу сбор из журнала IIS не показывает никаких ошибок. Единственная ошибка, которую я получаю, - это использовать IE buil; t в инструментах разработчика, и я вижу, что «Авторизация 200 не найдена», хотя я успешно зарегистрирован.

ответ

1

Я не смог исправить это, используя Apache, когда разработчик ASP.Net пришел с исправлением к их программному обеспечению. Это их ответ и решение:

Предприятие создает маркеры авторизации, которые используются для аутентификации каждого запроса, поступающего на сервер. Каждый запрос AJAX должен иметь действительный токен аутентификации, или он будет отклонен. Часть токена - это IP-адрес конечного пользователя. Если IP-адрес в запросе AJAX отличается от исходного запроса на вход, то проверка маркера не будет выполнена, и запрос AJAX будет отклонен. Enterprise v6.5.2 определяет IP-адрес конечного пользователя, ища три конкретных HTTP-заголовка в следующем порядке: HTTP_X_CLUSTER_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR. Мы полагаем, что прокси-сервер может отправлять другой IP-адрес для запроса AJAX, что приведет к сбою проверки маркера и отклонение запроса AJAX.

web.config Open Enterprise и вблизи верхних С этой линия прямо под элементом:

<add key="USER_HOST_ADDRESS" value="127.0.0.1" /> 

Сохранить и закрыть web.config, а затем перезапустить IIS.

Все. Оказалось, что это проблема ASP.NET, а не Apache.