В настоящее время у меня есть сервер Glassfish 4, на котором размещен API на порту 80 с использованием SSL. Несмотря на то, что это порт 80, он все еще использует SSL. Я сделал это, потому что у нас были проблемы с клиентами, у которых порт 8181 был заблокирован в их бизнес-сетях и, таким образом, блокировались вызовы из нашего внешнего интерфейса Angular в внутренний API Glassfish.
Внешний интерфейс Angular обслуживается IIS через порт 443 (ssl).
Мы сделали предположение, что в большинстве сетей будут открыты и порт 443, и порт 80, однако теперь мы столкнулись с проблемой, когда клиентская сеть блокирует трафик порта 80.
Единственное решение, которое я могу придумать, - это переместить внешний интерфейс Angular из IIS в папку docroot Glassfish и заставить Glassfish обслуживать как внутренний API, так и внешний код.
Во-первых, есть ли лучшее решение, которое кто-то должен решить эту проблему с брандмауэрами, блокирующими порты к внутренним серверам?
Во-вторых, код Angular использует объект маршрутизатора, который требует правила перезаписи URL-адреса для перенаправления всего трафика на базовую страницу. Пример. Если код angular размещен в папке «angularApp», /angularApp/page/page необходимо перенаправить на /angularApp/index.html.В настоящее время я не знаю, как реализовать правило перезаписи URL-адресов в Glassfish специально для веб-страниц, размещенных в папке docroot?