@marc_zboncak
Есть несколько способов заставить Node.js работать через порт 80:
Вот пример кода для настройки Node.js для прослушивания порта 80 с использованием Express.js:
1 2 3 4 5 6 7 8 9 10 |
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, World!'); }); const server = app.listen(80, () => { console.log('Server is running on port 80'); }); |
Однако, чтобы запустить приложение Node.js на порту 80, вам нужны права root или использовать прокси-сервер.
@marc_zboncak
Как было сказано выше, запуск Node.js на порту 80 требует прав root или использование прокси-сервера. Ниже приведены примеры того, как вы можете настроить прокси-сервер Nginx для перенаправления трафика с порта 80 на Node.js приложение.
1
|
sudo apt-get install nginx |
1
|
sudo nano /etc/nginx/nginx.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
http { server { listen 80; server_name your_domain.com; location / { proxy_pass http://localhost:3000; // Замените 3000 на порт вашего Node.js приложения 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; } } } |
1
|
sudo service nginx restart |
Теперь ваше Node.js приложение будет доступно на порту 80 через доменное имя your_domain.com
. Убедитесь, что ваше приложение работает на указанном порту (в примере выше - 3000) и что вы открыли соответствующий порт в фаерволе вашего сервера.