Адрес ответа в режиме прокси (soap)
Pavel Rubtsov
pavel_cat на mail.ru
Пн Авг 1 08:10:46 UTC 2022
NGINX проксирует по https soap-запросы в простой http:
server {
listen 443 ssl;
server_name mydomain.ru;
auth_basic "Private Property";
auth_basic_user_file /etc/nginx/.htpasswd;
ssl_certificate "/etc/nginx/ssl/mykey.crt";
ssl_certificate_key "/etc/nginx/ssl/privatekey.txt";
set_real_ip_from 10.0.68.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
proxy_set_header Host $host;
# adapter.sqldb
location /cxf/sqldbadapter/TXLife {
proxy_pass<>http://s-esb-1:18801;
}
При запросе WSDL https://mydomain.ru:8443/cxf/sqldbadapter/TXLife?wsdl
получаем в ответе строку <soap:address location=" http://s-esb-1:18801/cxf/sqldbadapter/TXLife"/ >
а нужно тот же, адрес, протокол и порт, что и в запросе. Пока решил вопрос фильтром:
sub_filter http://$host https://$host:8443;
sub_filter_once on;
sub_filter_types text/xml;
А как правильнее вернуть тот же адрес, что и в запрос?
--
Pavel Rubtsov
Отправлено из Почты Mail.ru
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20220801/615aa08e/attachment.htm>
Подробная информация о списке рассылки nginx-ru