Je voudrais savoir comment je configure le proxy PEP pour pouvoir échanger des messages via HTTPS. J'ai une instance de courtier de contexte Orion qui n'est accessible qu'après avoir été transmise par le proxy PEP. Mon fichier de configuration PEP Proxy (Wilma) (config.js) contient les éléments suivants:

config.https = {
   enabled: true,
   cert_file: 'cert/idm.crt',
   key_file: 'cert/idm.key',
   port: 443
};

config.account_host = 'https://localhost:8000';   //account.lab.fiware.org';
config.keystone_host = 'localhost'; //'cloud.lab.fiware.org';
config.keystone_port = 5000; //4731;

config.app_host = 'https://orion'; //'localhost';
config.app_port = ''; //Nginx is configured to redirect to port 1026
// Use true if the app server listens in https
config.app_ssl = true;

config.username = 'pep_proxy_credential_obtained_at_portal';
config.password = 'password_obtained_at_portal';

J'ai également HTTPS vers HTTP (Nginx configuré comme proxy inverse) afin que mes demandes directement envoyées à Orion soient sécurisées. Le HTTPS fonctionne uniquement sans flux proxy PEP. Lorsque j'insère le flux d'autorisation / d'authentification, je rencontre des problèmes, car le proxy PEP ne gère pas le certificat SSL. Voici la configuration de Nginx :

location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;

    # Fix the “It appears that your reverse proxy set up is broken" error.
    proxy_pass          http://orion:1026;
    proxy_read_timeout  90;
    proxy_redirect      http://orion:1026 https://orion;
}

Je veux intégrer ce que j'ai de manière à pouvoir communiquer avec Orion uniquement par HTTPS, y compris le flux de proxy PEP. J'ai cherché mais je n'ai rien trouvé d'utile lié à la configuration HTTPS dans PEP Proxy.

EDIT: Il y a une erreur lorsque le proxy PEP redirige vers l'application:

2017-01-17 20:52:55.544  - INFO: Server - Success authenticating PEP proxy. 
Proxy Auth-token:  d7ec08edd87d43418edfd558df26f427
2017-01-17 20:53:49.450  - INFO: IDM-Client - Checking token with IDM...
2017-01-17 20:53:49.508  - INFO: Root - Access-token OK. Redirecting to app...
Refused to set unsafe header "accept-encoding"
Refused to set unsafe header "content-length"

L'erreur présentée par l'application est:

('Connection aborted.', BadStatusLine('HTTP/1.1 0 unknown\r\n',))
1
Dalton Cézane 17 janv. 2017 à 08:39

2 réponses

Meilleure réponse

Le problème était le https lors de la configuration:

config.app_host = 'https://orion';

J'ai dû déboguer pour trouver cela. Le PEP Proxy Wilma ajoute le protocole (http ou https) à l'hôte d'application configuré. Le correct est de configurer sans le protocole:

config.app_host = 'orion';

Peut-être que cette observation peut être ajoutée à la documentation de Wilma afin d'éviter des erreurs comme la mienne.

1
Dalton Cézane 26 janv. 2017 à 17:16

Vous pouvez configurer PEP Proxy pour écouter en HTTPS en utilisant le paramètre "https" dans le fichier de configuration

https://github.com/ging/fiware-pep-proxy/blob/master/config.js.template#L7

0
Álvaro Alonso 17 janv. 2017 à 15:32