
В настоящее время у меня есть сервер 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?