У меня проблема с размещением сайта на 2 разных серверах. Моя компания разработала несколько страниц с ASP.NET MVC для клиента, веб-сайт которого размещен в Linux. Мы предполагаем разместить эти несколько страниц с их файлами dll, image, css и js на нашем хосте Windows (у него 1 IP и много других веб-сайтов, размещенных на нем), но адрес должен быть их доменом ... например www.ClientDomainLinux.com/MyMvcController/MyPage
Я разработчик, и я не уверен, как мне настроить IIS для этого ... Они настроили прокси, указывающий на наш хостинг, но ни один из файлов css, изображений или js не загружается, и он не работает ...
Мне нужна помощь в настройке IIS, чтобы ссылки работали правильно,
Любые идеи действительно приветствуются.
Спасибо
На ум приходят два решения.
Первый - это простой фрейм / iFrame на веб-сайте Linux вашего клиента, содержащий ваш ASP.NET www.yourwindowsserver.com/clients/clientXYZ/MyPage.
Это легко настроить, но для более опытных посетителей веб-сайта ваших клиентов будет видно, что они перенаправляются на второй сервер.
Второй вариант - настроить часть веб-сайта Linux как обратный прокси. Это имеет то преимущество, что посетителям это будет казаться безупречным, поскольку они подключаются только к www.ClientDomainLinux.com. Веб-сервер на www.ClientDomainLinux.com будет работать как HTTP-прокси и принимать запросы для / MyMvcController / MyPage, преобразовывать этот входящий запрос в исходящий запрос на www.yourwindowsserver.com/clients/clientXYZ/MyPage, получать ответ и повторно передавать которые отвечают посетителю сайта.
Веб-серверы Linux обычно используют веб-сервер Apache. Конфигурация обратного прокси-сервера использует либо mod_proxy, либо mod_rewrite, и обычно это необходимо настроить администратору.
# somewhere in the main apache configuration file
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# either in the virtual host definition for www.ClientDomainLinux.com or possibly .htaccess
ProxyPass /MyMvcController/MyPage http://www.yourwindowsserver.com/clients/clientXYZ/MyPage
ProxyPassReverse /MyMvcController/MyPage http://www.yourwindowsserver.com/clients/clientXYZ/MyPage
Альтернатива с правилом перезаписи будет выглядеть примерно так:
# somewhere in the main apache configuration file
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
# either in the virtual host definition for www.ClientDomainLinux.com or possibly .htaccess
RewriteRule ^/MyMvcController/MyPage(.*) http://otherhost/otherpath$1 [P]
http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html http://httpd.apache.org/docs/2.4/mod/mod_proxy.html