Я столкнулся со следующей ситуацией. Клиент предоставляет мыльную службу через порт 80. Неизвестно, как именно их клиенты получают доступ к службе, но предполагается, что в их сценариях жестко запрограммирован uris. В настоящее время мы разрабатываем новый веб-сайт для моего клиента, который будет работать с текущим доменом. Сервис мыла будет перемещен в поддомен. Поскольку они не хотят беспокоить своих клиентов сменой домена для службы мыла, меня попросили пересылать все запросы мыла на сервер в поддомене.
Теперь мой вопрос: можно ли это сделать и как? Я использую веб-сервер Nginx в Ubuntu 14.04. Можем ли мы просто переслать эту конечную точку https://www.domain.nl/services/soap к https://subdomain.domain.nl/services/soap или для этого нужно использовать iptables? В случае iptables, как мы можем отделить запросы мыла от обычных веб-запросов?
Ты не хочешь 301
клиентов в новое подходящее место, так как это технически критическое изменение. Существующие клиенты могут не знать, как следовать 301
перенаправить, или они могут вернуть ошибку, если ответ не 200
. Вы меняете фундаментальное предположение, поэтому результат непредсказуем и опасен.
Лучше создать обратный прокси-сервер, который будет невидим для клиента. Вы бы проверили URL-адрес и сопоставили ^/services/soap
для прокси-запросов к новой конечной точке SOAP. Существует множество хорошо задокументированных способов сделать это с помощью NGINX, а также HAProxy или Apache.