Задать вопрос
@pazoozoo

Node.js Digitalocean Ubuntu NGINX net::ERR_CONNECTION_TIMED_OUT в чем может быть проблема?

Приложение на MEAN2-stack выдает ошибку:

GET https://xx.xx.xx.xx:3000/api/check-email?email=tes... net::ERR_CONNECTION_TIMED_OUT


Также запрос:

curl https://xx.xx.xx.xx:3000/api/check-email?email=tes...

выдает ошибку:

curl: (35) gnutls_handshake() failed: An unexpected TLS packet was received.

Хотя тот же запрос, который начинается с http отрабатывет нормально:

curl xx.xx.xx.xx:3000/api/check-email?email=testmail@gm...


На локальном сервере все работает отлично, но на боевом сервере начинаются проблемы.
Вебсокеты не используются.

Базовый Url на фронтенде:
private baseUrl = 'https://xx.xx.xx.xx:3000/api/';

ip и порт на nodejs:
...
app.use( '/api', routesApi );
...
app.listen( 3000, 'xx.xx.xx.xx', () => {
  console.log( 'Server is running' );
} );


Мои настройки nginx:
server {

    server_name helperra.com www.helperra.com;

    location / {
        root   /helperra/client/dist;
        try_files $uri $uri/ @node;
    }

    location @node {

        proxy_pass http://xx.xx.xx.xx:3000;
        proxy_redirect off;

        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;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/helperra.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/helperra.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
    if ($host = www.helperra.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = helperra.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;

    server_name helperra.com www.helperra.com;
    return 404; # managed by Certbot
}


Я впервые настраиваю сервер на Ubuntu и впервые имею дело с nginx.
  • Вопрос задан
  • 337 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@pazoozoo Автор вопроса
После того как убрал хост на фронте и бэке, все заработало.

private baseUrl = '/api/';

app.listen( port, () => {
  console.log( 'Server is running' );
} );


Два дня убил на то чтобы еще раз понять - лучше не хардкодить!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
логи нгинкса смотри, видимо до ышестоящего прокси не достукивается, там же httP а ты все редиректишь на httpS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы