首页 文章

将我的域指向我的node.js实例

提问于
浏览
1

我拥有一台运行whm / cpanel的服务器,我最近一直在尝试使用node.js.我有一个小节点测试服务器正在运行,我想指向一个域 . 到目前为止,我一直在使用whm来创建帐户并处理域名,但这是一个不同的场景,当我有多个其他域指向其他域时,我对如何使域指向我的服务器上的某些内容知之甚少 . 我的服务器上同时有不同的东西 .

谢谢

3 回答

  • 1

    我设法这样做:

    <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

    好吧,我从来没有尝试过这个,但你可以在.htaccess文件中使用重写规则并重写所有内容以转到端口8000,你运行node.js服务器 .

    首先,设置node.js服务器以侦听端口8000 .

    然后,在cpanel中正常创建域,并在doc root中添加一个带有此重写的.htaccess文件:

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

    这应该只是将内部的所有内容转发到端口8000,node.js将负责处理它 . 但我不知道持久连接/ websockets如何与此策略一起使用 . 通过直接访问服务器上的端口8000,在这些情况下跳过apache可能更好 .

    资料来源:http://es.w3support.net/index.php?db=sf&id=59994

  • 0

    这有点棘手,因为cpanel将使用apache来配置域,而apache已经毫无疑问地占用了端口80,因此你无法在apache和node.js之间共享端口80 . 您将无法通过cpanel进行配置 .

    您可以将域指向您的服务器,并让节点侦听另一个端口,例如8000 .

    然后去http://mydomain.com:8000/

    因此,apache / cpanel处理对端口80和443的请求,并且节点处理对端口8000的请求 .

    很可能在一个盒子上运行多个Web服务器,但它们每个都需要自己的端口

相关问题