2009-06-06 4 views
3

Mon Apache 2.2.9 fonctionne sur Debian Lenny 5.0.1 avec 2 interfaces réseau, une interface a une adresse IP publique et un nom d'hôte, l'autre n'est pas configuré. Cette machine répond aux services qui s'exécutent sur la pile LAMP.HOWTO transfère une requête faite à un serveur Apache vers un serveur IIS sans utiliser de redirection d'URL?

Une machine Windows Server 2008 SP2 exécutant IIS 7 répond à nos besoins ASP.net. La boîte peut être configurée pour être sur une adresse IP locale ou publique et dispose également de 2 interfaces réseau.

Les deux serveurs fonctionnent sur SSL et Apache est publique.

Existe-t-il un moyen lorsqu'une requête telle que https://foo.com/contentfromiis/ est effectuée, le navigateur peut diffuser du contenu à partir du serveur IIS sans utiliser de redirection et transférer vers https://bar.com/iwastransferedhere/. En d'autres termes, l'utilisateur ne doit pas/expérimenter/aucun changement ne se produit. Merci!

Répondre

6

Si je comprends bien votre situation, je crois que vous pouvez utiliser mod_proxy pour faire ce que vous voulez. Fondamentalement, Apache agirait comme un "proxy inverse" pour les demandes que vous voulez réellement servir à partir d'IIS. Notez qu'un proxy inverse n'est pas comme un proxy HTTP normal. Des mod_proxy docs:

Un proxy inverse ... apparaît au client comme un serveur web ordinaire. Aucune configuration spéciale sur le client est nécessaire. Le client fait des demandes ordinaires de contenu dans l'espace-nom du proxy inverse. Le proxy inverse décide alors où pour envoyer ces demandes et renvoie le contenu comme s'il était lui-même l'origine .

+0

Merci Laurence, qui résout mon problème. –

3

Oui, ce que dit Laurence Gonsalves. Voici un fichier de configuration aussi simple que possible, que j'ai extrait d'un serveur proxy inverse de mise en cache. Vous devriez être capable de travailler dans une correspondance d'URL, mais je ne l'ai pas fait moi-même.

# httpd *reverse proxy caching server* config file for apache httpd 2.2 
ServerRoot "C:/Program Files/Apache Group/Apache2" 
#must exist, no reason to have anythign in it  
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" 

Listen 127.0.0.1:80 
Listen 192.168.1.33:80 
ServerAdmin [email protected] 
ServerName proxy.server.com 

LoadModule auth_module modules/mod_auth.so 
LoadModule log_config_module modules/mod_log_config.so 
LoadModule mime_module modules/mod_mime.so 
LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 

### PROXY CONFIGURATION ### 
ProxyRequests Off 
ProxyVia On 

### VH ### 
<VirtualHost 192.168.1.33> 
    ProxyPass  /http://192.168.1.34:80/ 
    ProxyPassReverse/http://192.168.1.34:80/ 
    LogLevel info 
</VirtualHost> 

### LOGGING CONFIGURATION ### 
# error log will not catch proxied content 
ErrorLog logs/error.log 
LogLevel info 
LogFormat "%{Host}i %v %h %l %u %t \"%r\" %>s %b common 
CustomLog logs/access.log common 
TypesConfig conf/mime.types 
+0

Merci Stu, votre fichier de configuration sera utile car je peaufine cela dans mon environnement. –

Questions connexes