Указание моего домена на мой экземпляр node.js - PullRequest
1 голос
/ 22 апреля 2011

У меня есть сервер под управлением whm / cpanel, и я недавно экспериментировал с node.js.У меня работает небольшой тестовый сервер узлов, и я хотел бы указать домен на него.До сих пор я использовал whm для создания учетных записей и работы с доменами, но это другой сценарий, и у меня мало знаний о том, как заставить домен указывать на что-то на моем сервере, когда несколько других доменов указывают на другиеразные вещи на моем сервере одновременно.

Спасибо

Ответы [ 3 ]

1 голос
/ 22 апреля 2011

Хорошо, я никогда не пробовал этого, но вы могли бы использовать правило перезаписи в файле .htaccess и переписать все, чтобы перейти на порт 8000, где у вас работает сервер node.js.

Итак, во-первых,настройте сервер node.js для прослушивания порта 8000.

Затем создайте свой домен, как обычно, в cpanel, и в корне doc добавьте файл .htaccess с таким переписыванием:

RewriteRule ^ "\ http: \ / \ / 127.0.0.1 \:% (8000) REQUEST_URI" [P, QSA, L]

Это должно просто переслать все внутренне на порт 8000, где об этом позаботится node.js.Но я не знаю, как постоянные соединения / веб-сокеты будут работать с этой стратегией.В таких случаях может быть лучше пропустить apache, перейдя непосредственно к порту 8000 на вашем сервере.

Источник: http://es.w3support.net/index.php?db=sf&id=59994

0 голосов
/ 16 января 2012

Мне удалось сделать это так:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{SERVER_PORT} !^3000$
  RewriteRule ^ http://%{HTTP_HOST}:3000%{REQUEST_URI} [P,QSA,L]
</IfModule>

Все остальное у меня не сработало: (

Здесь я проверяю, не является ли порт 3000, а если протокол не https, тогда я указываю домен на порт 3000 (вы можете указать порт, который вы используете с помощью node.js), вы можете удалить RewriteCond %{HTTPS} !=on, если вы пофиг на проверку протокола.

Я занимаюсь исследованиями и разработками локально, но в производственном процессе, я думаю, я буду использовать узел nginx + вместо apache.

0 голосов
/ 22 апреля 2011

Это немного сложно, так как cpanel собирается использовать apache для настройки доменов, и apache уже без сомнения принял порт 80, поэтому вы не можете использовать порт 80 между apache и node.js.Вы не сможете настроить это через cpanel.

Вы можете просто указать домен на свой сервер и заставить узел прослушивать другой порт, например 8000.

Затем перейдите к http://mydomain.com:8000/

Таким образом, apache / cpanel обрабатывает запросы к портам 80 и 443, а узел обрабатывает запросы к порту 8000.

Очень возможно запустить несколько веб-серверов на одном компьютере, но каждый из них нуждается в своем собственномпорт (ы)

...