Pb sur les dashlets avec accès externe derrière un proxy

cancel
Showing results for 
Search instead for 
Did you mean: 
mlagneaux
Active Member

Pb sur les dashlets avec accès externe derrière un proxy

Bonjour,

Je souhaite intégrer un certain nombre de dashlets à Alfresco Share, nécessitant pour la plupart un accès à une ressource distante (flux RSS, API twitter…).
La requête http est alors exécutée dans Share via les instructions suivantes :
var connector = remote.connect("http");
var obsResult = connector.get(url);

Cependant, tout accès externe doit nécessairement passer par un serveur proxy.
Sans aucune configuration spécifique, la requête retourne une erreur 499.

J’ai donc configuré Tomcat en ajoutant les paramètres suivants dans catalina.properties :
http.proxySet=true
http.proxyHost=xxx
http.proxyPort=xxx
http.proxyUser=xxx
http.proxyPassword=xxx
http.nonProxyHosts=127.0.0.1|localhost

Le proxy semble alors être reconnu mais la requête retourne désormais une erreur 407 (Authentification proxy exigée)…
L’authentification au serveur proxy semble donc poser problème.

J’ai ajouté une configuration semblable dans les options de la JVM, sans plus de succès :
-Dcom.sun.management.jmxremote -DproxySet=true -Dhttp.proxyHost=xxx -Dhttp.proxyPort=xxx -Dhttp.proxyUser=xxx -Dhttp.proxyPassword=xxx Dhttp.nonProxyHosts=127.0.0.1|localhost

L’utilisation des options http.proxyAuth, http.auth.ntlm.domain et http.proxyRealm n’a rien donné non plus…

Quelqu’un est-il déjà parvenu à configurer un proxy nécessitant une authentification ?
Toute piste est la bienvenue.

Merci.
2 Replies
rguinot
Customer

Re: Pb sur les dashlets avec accès externe derrière un proxy

Il faut en effet positionner http.proxyHost et http.proxyPort pour les connecteurs surf.

En revanche je pense que dans la version actuelle, les connecteurs ne supportent pas l'authentificatiion sur le proxy.
Je vous suggère d'ajouter les logs en DEBUG sur org.springframework.extensions.webscripts.connector pour confirmer.

Un workaround que je verrais est de créer sur le serveur un proxytunnel SSH vers le service à consommer (voir par exemple : http://proxytunnel.sourceforge.net/paper.php). 

Votre connecteur surf n'aura plus à passer par le proxy et pourra faire un remote.call sur une ressource interne.

Vous pouvez aussi étendre la classe RemoteClient pour lui ajouter le support de l'authentification sur le proxy.
mlagneaux
Active Member

Re: Pb sur les dashlets avec accès externe derrière un proxy

Merci pour votre réponse.

Je ne pense pas que la solution du proxytunnel soit réellement adaptée à mon besoin, étant donné que je dois dialoguer avec plusieurs services externes différents sur lesquels je n’ai pas la main (ex : twitter, flickr…).

J’ai parcouru la classe RemoteClient et constaté que l’authentification sur le proxy n’est en effet pas prise en charge.
Cette classe faisant partie intégrante du spring framework, comment m’est-il possible de l’étendre proprement dans Alfresco ?