Как запустить сервер nodejs без порта?

Я занимаюсь выпуском своего приложения.
Я запустил фронт на домене (example.com) через nginx.
Специфика моего приложения заставляет меня запустить бэкенд на том же домене example.com. И отправлять запросы на example.com/api, example.com/auth и т.д. Сейчас мое приложение запускается на example.com:3333. В теории, я могу через nginx перенаправлять запросы на 3333, но не будет ли возникать конфликтов в работе клиента и сервера, если нет - как мне перенаправить запросы?

Дополнительно:

Ответы:

но не будет ли возникать конфликтов в работе клиента и сервера,

Не должно. Просто разруливай по путям - что к бэку должно идти, а что на статику.

А чтобы "без порта" надо запускать на 80 и 443 порте.
Но если на этой же машине nginx стоит, то будет конфликт.

Под запустил фронт вы имеете в виду React в режиме dev или что-то подобное? Если так, то вам стоит ввести константу, например, domain, в которой сейчас будет адрес поднятого сервера (сейчас на другом порту). Перед релизом приложения, вам нужно выполнить сборку, таким образом вы получите статичные файлы. Дальше вы меня domain на "/" и раздаёте эти файлы с сервера. Таким образом и ваш клиент и ваш сервер будут на одном домене. Если под клиентом вы имели в виду что-то иное, напишите это.

  • Клиент - React приложение, собранное. В продакшен

 

Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

 

    • Как запустить сервер nodejs без порта?Есть ответ
    • 07.04.2024
    Ответить

    Для запуска сервера Node.js без указания порта можно воспользоваться следующим способом:

    1. Создайте файл с именем, например, `server.js` и добавьте следующий код:

    const http = require('http');
     
    const server = http.createServer((req, res) => {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello, World!');
    });
     
    server.listen();

    2. Вместо метода `server.listen()` необходимо передать пустой объект `{}`. Это позволит серверу выбрать произвольный свободный порт:

    server.listen({});

    3. Теперь, когда сервер будет запущен, вы увидите сообщение "Server running at http://localhost:XXXX/", где `XXXX` - это порт, который был автоматически выбран.

    Таким образом, сервер Node.js будет запущен без указания порта, и он будет использовать произвольный свободный порт. Этот способ удобен, если вам не важно, на каком порту будет работать сервер, и вы хотите, чтобы он выбирал его автоматически.

Оставить комментарий