Nginx перенаправить IP: ПОРТ на доменное имя - PullRequest
0 голосов
/ 28 марта 2019

Мой веб-сервер работает на порту 4000, и я настроил nginx для обслуживания через HTTPS с использованием доменного имени. Мое приложение и конфигурация работают хорошо, но приложение также обслуживает запросы, используя SERVER_PUBLIC_IP:<PORT>. Я добавил в конфигурацию дополнительный серверный блок, который успешно перенаправляет запрос SERVER_PUBLIC_IP на имя домена, но не может перенаправить SERVER_PUBLIC_IP:4000 на имя домена.

Ниже приведена конфигурация nginx:

server {
  gzip on;
  gzip_comp_level    6;
  gzip_types application/javascript text/css text/plain application/json;
  gzip_min_length 1000;

  root /var/www/html;

  # Add index.php to the list if you are using PHP
  index index.html index.htm index.nginx-debian.html;

  listen 80;

  listen 443 ssl;

  ssl on;
  ssl_certificate /etc/nginx/ssl/domain.crt; 
  ssl_certificate_key /etc/nginx/ssl/domain.key;

  server_name my.domain.com;

  location / {
    proxy_pass http://localhost:4000/;
  }
}

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  server_name 13.250.13.202;
  return 301 https://my.domain.com;
}

Я хочу настроить его так, чтобы он также перенаправлял запрос с IP:4000. Я попытался добавить ниже, но это не работает.

server {
  listen 4000;
  listen [::]:4000 ipv6only=on;
  server_name 13.250.13.202:4000;
  return 301 https://my.domain.com;
}

Это дает ошибку:

Mar 28 07:59:36 ip-172-31-11-93 nginx[29637]: nginx: [emerg] bind() to 0.0.0.0:4000 failed (98: Address already in use)

Я не знаю, какой способ попробовать. Любая помощь будет оценена!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...