J'ai un serveur web apache installé en tant que frontend et j2ee SAP Netweaver Application Server est installé sur le serveur Intranet. Comment puis-je configurer Apache pour transférer les requêtes et les réponses vers/depuis le serveur de l'application j2ee. par exemple, l'adresse IP du serveur apache externe est 9.20.1.1:80. L'adresse du serveur interne sap est 192.168.0.1/sap/bc/gui/sap/its/webgui?sap_client=200 Je veux accéder à mon serveur d'application sap par exemple 9.20.1.1/sapserver/sap/bc/gui/sap/ ? son/webgui de sap_client = 200Comment configurer Apache pour qu'il fonctionne en tant que proxy (équilibreur de charge) pour le serveur j2ee?
Répondre
Vous avez mentionné l'équilibrage de charge. Il est donc probable que vous souhaitiez pouvoir ajouter plus de serveurs d'applications desservis par une seule adresse. J'espère qu'ils sont apatrides ou stockent des informations de session dans une base de données. Vous pouvez utiliser Apache pour servir d'équilibreur de charge proxy inverse avec mod_proxy_balancer
. Les documents sont here.
Voici un exemple de ce qu'il faut ajouter à votre fichier httpd.conf depuis this link.
<Proxy balancer://myclustername>
# cluster member 1
BalancerMember http://192.168.0.1:3000
BalancerMember http://192.168.0.1:3001
# cluster member 2, the fastest machine so double the load
BalancerMember http://192.168.0.11:3000 loadfactor=2
BalancerMember http://192.168.0.11:3001 loadfactor=2
# cluster member 3
BalancerMember http://192.168.0.12:3000
BalancerMember http://192.168.0.12:3001
# cluster member 4
BalancerMember http://192.168.0.13:3000
BalancerMember http://192.168.0.13:3001
</Proxy>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.meinprof.de
ServerAlias meinprof.de
ProxyPass/balancer://meinprofcluster/
ProxyPassReverse/balancer://meinprofcluster/
ErrorLog /var/log/www/www.meinprof.de/apache_error_log
CustomLog /var/log/www/www.meinprof.de/apache_access_log combined
</VirtualHost>
en supposant que vous avez activé mod_proxy, ajoutez à vous êtes sites disponibles:
ProxyRequests Off
<Location "/sapserver">
ProxyPass http://192.168.0.1
ProxyPassReverse http://192.168.0.1
</Location>
attention cependant que cela n'expose votre site Internet interne à l'ensemble.
Ceci est souvent appelé par erreur un proxy inverse. Si vous utilisez un moteur de recherche pour trouver "reverse proxy apache" vous obtiendrez beaucoup de bons résultats.
La réponse rapide est d'ajouter quelque chose comme ceci à votre apache.conf
ProxyPass/sap/192.168.0.1/sap/
< Lieu/sap />
ProxyPassReverse /sap/
</Location>
Voir aussi les rools modrewrite et l'option [P].
En fait, il s'agit d'un proxy inverse. Un proxy direct est un hôte qui canalise les demandes de mise en cache et de filtrage. Je ne sais pas pourquoi vous diriez que c'est «à tort» un proxy inverse. – MattMcKnight
Ne fonctionne pas très bien. J'ai rencontré des problèmes avec le rendu d'image et les styles de page (application j2ee). Page rendue sans graphiques et styles CSS. Qu'est-ce que je peux vous conseiller? –
Pouvez-vous vérifier que l'application J2EE ne fait pas référence aux images et aux CSS via des URL absolues plutôt que relatives? –