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