Estou com um problema ao hospedar um site em 2 servidores diferentes. Minha empresa desenvolveu algumas páginas com ASP.NET MVC para um cliente cujo site está hospedado em Linux. Devemos hospedar essas poucas páginas com seus arquivos dll, imagem, css e js em nosso host Windows (ele tem 1 IP e muitos outros sites hospedados nele), mas o endereço deve ser o domínio deles... comowww.ClientDomainLinux.com/MyMvcController/MyPage
Sou um desenvolvedor e não tenho certeza de como devo configurar o IIS para conseguir isso... Eles configuraram um proxy apontando para nossa hospedagem, mas nenhum dos arquivos css, imagens ou js é carregado e não funciona...
Preciso de ajuda sobre como configurar o IIS para que os links funcionem corretamente,
Qualquer tipo de ideia é muito apreciada.
Obrigado
Responder1
Duas soluções vêm à mente.
O primeiro é um frame/iFrame simples no site Linux do seu cliente, incluindo seu ASP.NET www.yourwindowsserver.com/clients/clientXYZ/MyPage.
Isso é simples de configurar, mas para os visitantes mais experientes em tecnologia do site de seus clientes, será visível que eles serão redirecionados para um segundo servidor.
A segunda alternativa seria configurar parte do site Linux como proxy reverso. Isto tem a vantagem de que para os visitantes parecerá perfeito, pois eles apenas fazem conexão com www.ClientDomainLinux.com. O servidor web em www.ClientDomainLinux.com funcionará como um proxy HTTP e receberá solicitações para /MyMvcController/MyPage, converterá essa solicitação recebida em uma solicitação de saída para www.yourwindowsserver.com/clients/clientXYZ/MyPage, receberá a resposta e retransmitirá que respondem ao visitante do site.
Os servidores web Linux normalmente usam um servidor web Apache. Uma configuração de proxy reverso usa mod_proxy ou, alternativamente, mod_rewrite e isso normalmente é algo que um administrador precisará configurar.
# 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
A alternativa com uma regra de reescrita seria semelhante a esta:
# 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