Apache VirtualHost Proxy avec un sous-directory

Actuellement, nous avons un server IIS comme server principal. Nous implémentons un server Apache à sa place, mais nous devons toujours avoir le server IIS accessible. En règle générale, c'est une chose simple, car Apache2 peut transmettre un sous-domaine à ce server.

Notre problème, cependant, est le suivant: nous utilisons dotnetCharting sur le server IIS, et la licence est liée au nom de domaine. Pour que dotnetCharting fonctionne, une autre licence devra être achetée.

Ma question est, peut Apache2 proxy un sous-directory? Par exemple, «www.example.com/subdir» peut-il indiquer le server IIS? Il semble que ce ne devrait pas être impossible, mais je ne peux pas find une solution pour cela.

Sûr. Mais fais attention; beaucoup d'applications Web ne sont pas bien conçues pour avoir changé leur path d'URL. L'application utilisée dans un sous-directory est-elle actuellement?

# You'll probably want this to maintain the host mapping in IIS ProxyPreserveHost On # Swap in the IP address or internal host name of your IIS server: ProxyPass /subdir/ http://192.0.2.100/subdir/ 

Ou, si vous modifiez le path de l'URL, en gardant à l'esprit que beaucoup d'applications auront des problèmes avec cela, en raison des paths d'access absolus pour les ressources (CSS, javascript, images):

 ProxyPass /subdir/ http://192.0.2.100/ ProxyPassReverse /subdir/ http://192.0.2.100/ 

Sûr.

  1. Activer mod_proxy mod_proxy_http
  2. définissez les instructions suivantes dans votre VHost Apache

     ProxyPass /subdir http://iis.server/.../ ProxyPassReverse /subdir http://iis.server/.../ 

Notez que le "/" final est obligatoire.

Pour plus d'informations: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

la coupe finale à la fin n'est PAS obligatoire. Je l'ai configuré comme ça

 ProxyPass /dir http://exmpale.com/dir/ ProxyPassReverse /dir http://exmpale.com/dir/ 

et le niveau supérieur a fonctionné, mais tout ce qui a été fait dans les sous-titres sous le principal n'a pas.

Je l'ai changé à cela et tout a fonctionné.

Merci pour la désinformation!

 ProxyPass /dir http://exmpale.com/dir ProxyPassReverse /dir http://exmpale.com/dir