Мой веб-сервер работает на порту 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)
Я не знаю, какой способ попробовать. Любая помощь будет оценена!