Я пытаюсь подключиться к SOAP API, который находится в DMZ за брандмауэром, используя приложение Ruby/Rack и гем Savon для SOAP и гем HTTPI для запросов/ответов.
API SOAP определяет файл wsdl, который указывает на внутреннее доменное имя за брандмауэром (например, «http://randomhostname/path/to/wsdl»), и это прекрасно работает, когда я определяю IP-адрес для имени хоста в моем /etc /hosts локально на моей машине (1.1.1.1 randomhostname).
Проблема, с которой я столкнулся, заключается в том, что производственная среда для моего приложения работает на Heroku. Как я могу сопоставить внешний IP-адрес сервера, к которому я пытаюсь подключиться, с именем хоста, определенным в wsdl на Heroku или в моем приложении?