Адрес ответа в режиме прокси (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