Wie hoste ich Seiten auf IIS für eine Domäne unter Linux?

Wie hoste ich Seiten auf IIS für eine Domäne unter Linux?

Ich habe ein Problem damit, eine Website auf zwei verschiedenen Servern zu hosten. Meine Firma hat mit ASP.NET MVC einige Seiten für einen Kunden entwickelt, dessen Website unter Linux gehostet wird. Wir sollen diese paar Seiten mit ihren DLL-, Bild-, CSS- und JS-Dateien auf unserem Windows-Host hosten (er hat eine IP und viele andere Websites, die darauf gehostet werden), aber die Adresse sollte ihre Domain sein ... wiewww.ClientDomainLinux.com/MyMvcController/MyPage

Ich bin Entwickler und nicht sicher, wie ich IIS einrichten soll, um dies zu erreichen ... Sie haben einen Proxy eingerichtet, der auf unser Hosting verweist, aber keine der CSS-, Bild- oder JS-Dateien wird geladen und es funktioniert nicht ...

Ich brauche Hilfe beim Einrichten von IIS, damit die Links richtig funktionieren.

Wir sind für alle Arten von Ideen sehr dankbar.

Danke

Antwort1

Mir fallen zwei Lösungen ein.

Das erste ist ein einfacher Frame/iFrame auf der Linux-Website Ihres Clients, der Ihr ASP.NET www.yourwindowsserver.com/clients/clientXYZ/MyPage einschließt.

Dies ist einfach einzurichten, aber für technisch versiertere Besucher der Website Ihres Kunden ist es sichtbar, dass sie auf einen zweiten Server umgeleitet werden.

Die zweite Alternative wäre, einen Teil der Linux-Website als Reverse-Proxy zu konfigurieren. Dies hat den Vorteil, dass es für die Besucher nahtlos erscheint, da sie nur eine Verbindung zu www.ClientDomainLinux.com herstellen. Der Webserver auf www.ClientDomainLinux.com fungiert als HTTP-Proxy und nimmt Anfragen für /MyMvcController/MyPage entgegen, konvertiert diese eingehende Anfrage in eine ausgehende Anfrage an www.yourwindowsserver.com/clients/clientXYZ/MyPage, empfängt die Antwort und überträgt diese Antwort erneut an den Website-Besucher.

Linux-Webserver verwenden normalerweise einen Apache-Webserver. Eine Reverse-Proxy-Konfiguration verwendet entweder mod_proxy oder alternativ mod_rewrite und dies muss normalerweise ein Administrator konfigurieren.

# 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 

Die Alternative mit einer Umschreibregel würde etwa wie folgt aussehen:

# 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

verwandte Informationen