FIWARE - PEP-прокси настроен на HTTPS

Я хотел бы знать, как настроить прокси-сервер PEP, чтобы я мог обмениваться сообщениями через HTTPS. У меня есть экземпляр брокера контекста Orion, доступ к которому возможен только после прохождения через PEP-прокси. Мой конфигурационный файл PEP Proxy (Wilma) (config.js) имеет следующее:

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';

У меня также есть HTTPS к HTTP (Nginx настроен как обратный прокси-сервер), чтобы мои запросы, напрямую отправленные в Orion, были безопасными. HTTPS работает только без потока прокси PEP. Когда я вставляю поток авторизации / аутентификации, я сталкиваюсь с проблемами, поскольку прокси-сервер PEP не обрабатывает сертификат SSL. Вот конфигурация 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;
}

Я хочу интегрировать то, что у меня есть, так, чтобы я мог общаться с Орионом только по HTTPS, включая поток прокси PEP. Я искал, но не нашел ничего полезного, связанного с настройкой HTTPS в PEP Proxy.

РЕДАКТИРОВАТЬ: возникает ошибка, когда прокси-сервер PEP перенаправляет в приложение:

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"

Ошибка, представленная приложением:

('Connection aborted.', BadStatusLine('HTTP/1.1 0 unknown\r\n',))

2 ответа

Решение

Проблема была в https при настройке:

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

Мне пришлось отладить, чтобы найти это. Прокси-сервер PEP Wilma добавляет протокол (http или https) к настроенному хосту приложения. Правильно настроить без протокола:

config.app_host = 'orion';

Может быть, это наблюдение можно добавить в документацию Wilma, чтобы избежать ошибок, подобных моей.

Вы можете настроить PEP Proxy для прослушивания в HTTPS, используя параметр "https" в файле конфигурации

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

Другие вопросы по тегам