Я пытаюсь настроить свой сервер NGINX как для веб-сайта, так и для приложения nodejs. У меня есть два поддомена, которые правильно указывают на мой сервер, оба на один и тот же IP-адрес.
one.mydomain.com (main site) --> 123.456.789two.mydomain.com (NODE App) --> 123.456.789
Я уже настроил свой веб-сайт и приложение nodejs, поэтому могу связаться с ними обоими.
Моя конфигурация по умолчанию
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
моя конфигурация one.mysite.com:
server {
listen 80;
listen [::]:80;
root /var/www/html/one.mysite.com;
index index.html;
server_name one.mysite.com;
location / {
add_header 'Access-Control-Allow-Origin' *;
try_files $uri $uri/ /index.html?$query_string;
}
}
а мой two.mysite.com (приложение узла):
server {
listen 80;
listen [::]:80;
root /var/www/html/two.mysite.com;
index index.html;
server_name two.mysite.com;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
add_header 'Access-Control-Allow-Origin' *;
# try_files $uri $uri/ =404;
}
}
Проблема в том, что, учитывая, что приложение NODE прослушивает порт 8080, я не могу понять, как избежать посещения one.mydomain.com:8080 и доступа к приложению NODE js.
Как я могу этого достичь? Есть ли способ указать NGINX заблокировать посещение one.mydomain.com через порт 8080?
Спасибо
конечно, я обновил свой вопрос
Похоже, ваше приложение Node тоже слушает 80, а не 8080?
Вы уверены, что обе конфиги вообще включены? Я думаю, вы должны получить сообщение об ошибке при запуске nginx -t, если у вас есть два сервера, которые прослушивают один и тот же порт.





не могли бы вы показать нам конфигурацию вашего серверного блока?