Вызов nodejs скрипта без указания порта

dakemu

Мне необходимо обращаться к скриптам nodeJS по URL, то есть, чтобы адрес не содержал порт.

Подскажите, как это сделать?

2 ответа

dakemu

Есть два способа.

Первый - в коде найти места, где написано listen(8080); или что то подобное и заменить там порт на 80.

Второй - настроить nginx/apache как прокси. Ищется по словам "nginx nodejs proxy". Вот пример.


dakemu

На самом деле порт 80 можно не трогать. Если на хостинге уже стоит Apache, тогда достаточно в файле .htaccess прописать:

RewriteEngine On
RewriteRule ^$ http://yourdomain.com:ХХХХ/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://yourdomain.com:ХХХХ/$1 [P,L]

где ХХХХ — ваш порт в приложении NodeJS, а yourdomain.com — ваш домен

licensed under cc by-sa 3.0 with attribution.