Как переслать http-запрос приложению, работающему на порту 80 с помощью NGINX

Как переслать http-запрос приложению, работающему на порту 80 с помощью NGINX

Сервер Ubuntu работает,
Glassfish на порту 80(http) и 443(https),
Nginx на порту 8080(http) и 8081(https)

Цель состоит в том,
www.hostname01.comчтобы получить доступ к Glassfish,
www.hostname02.comдля доступа к Nginx

Вопрос в том,
можно ли это сделать с помощью конфигурации прокси-сервера Nginx или каких-либо других настроек?

Я вижу ответы, в которых Nginx работает на порту 80/443, поскольку это http-запрос по умолчанию, однако в моей среде Glassfish работал до Nginx, и у меня нет полномочий изменять его настройки, поэтому в настоящее время любой запрос отправляется в Glassfish, если не указан номер порта.
Мне разрешено редактировать любую другую конфигурацию сервера, за исключением экземпляра Glassfish.

Спасибо

решение1

Единственный способ сделать это — привязать второй IP-адрес к сетевому интерфейсу и явно привязать Glassfish к первому IP, а nginx ко второму IP.
Как только любое приложение прослушивает 0.0.0.0:80порт, он блокируется для любого другого приложения.
Как только вы это сделаете, вы можете указать nginx прослушивать только определенный адрес, используя bindпараметр в listenдирективе, например: listen 192.0.2.1:80 bind
Это тема IP-сокета, а не только тема конфигурации.

Связанный контент