- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我已经成功地使用 Node JS 和 Socket.io 编写了一个非常简单的实时聊天。它还使用 Express、Jade 和 Stylus——我想进一步开发它们。
当前的代码在这里(本地工作):https://github.com/littlejim84/basic_node_socket
这一切都运行良好,并且在我的本地机器上按预期工作。运行 Node 应用程序并转到 http://localhost:9000/使事情按预期工作。但是当我把它放在我的远程服务器上时,套接字没有连接。我设置了 Ngnix 来为我的 Node 应用程序提供服务,如下所示:
upstream basic_node_socket {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name example.com;
location /basic_node_socket {
root /var/www/example.com/basic_node_socket;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://basic_node_socket/;
proxy_redirect off;
}
}
有了这个,我可以转到网址,它会像预期的那样为我的 Node 应用程序提供服务,但套接字就是无法连接。我猜这是因为现在在客户端,我正在监听端口 9000,现在它以这种方式提供服务,这可能不再相关了?
在我的客户端脚本中我有这个(它在本地工作):
socket = new io.Socket(null, {port: 9000});
我不是 Node 方面的专家,我正在努力了解它。任何人都可以帮助我让它在我的远程服务器上按预期工作吗?
如有任何帮助,我们将不胜感激。
更新:我看到这个链接似乎详细说明了我的问题:http://community.webfaction.com/questions/3448/using-websockets-with-a-nodejs-custom-app
...这很好,我知道我可能需要一个专用 IP,这样我就可以纯粹在端口 80 上运行 Node,并让我的一个域名指向该 IP(或者我可以使用类似 Nodestar 的东西)。但我想把东西放在我自己的 VPS 上。这看起来不错,只要我有一个 Node 应用程序在运行。但是,如果我想要在那个新的专用 IP 地址上运行两个或三个 Node JS 应用程序怎么办?这是我不明白的一点。我见过 Node JS 的各种 vhost 类型设置,但我不确定如何最好地干净地实现它。
最佳答案
我不确定这是否是您的问题并且没有直接处理过,但我的理解是您不能使用 nginx 代理 websockets。这可能就是您在使用 websockets 而不是其他请求时遇到问题的原因。
尝试使用: https://github.com/nodejitsu/node-http-proxy
我还听说 lighttpd 与 websockets 一起工作。
关于javascript - 如何让我的 Node/Socket.io 聊天在域中进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371462/
这是我的本地域名 http://10.10.1.101/uxsurvey/profile/dashboard 在 Controller 中,我为用户列表设置了一个操作 redirect(control
要处理 Canonical URL,最佳做法是执行 301 重定向还是更好地为 www 和非 www 域使用相同的 IP 地址? 例如: 想要的规范 URL/域是 http://example.com
1 内网基础 内网/局域网(Local Area Network,LAN),是指在某一区域内有多台计算机互联而成的计算机组,组网范围通常在数千米以内。在局域网中,可以实现文件管理、应用软件共享、打印机
1 内网基础 内网/局域网(Local Area Network,LAN),是指在某一区域内有多台计算机互联而成的计算机组,组网范围通常在数千米以内。在局域网中,可以实现文件管理、应用软件共享、打印机
我想创建一个 weblogic 集群,其中有两个托管服务器,每个服务器在物理上独立的远程计算机上运行 根据weblogic文档 All Managed Servers in a cluster mus
我正在运行 grails 3.1.4,但在创建允许我将多个域对象绑定(bind)到其他几个域对象的模式时遇到了问题。作为我正在尝试做的一个例子: 我有三个类(class)。书籍、作者和阅读列表。 作者
我试图使用@count函数来根据它获取数据,但是在没有崩溃报告的情况下它以某种方式崩溃了。 这是代码 class PSMedia: Object { @objc dynamic var id
有谁知道是否有办法只输入字母字符而不输入数字?我想过这样的事情 CREATE DOMAIN countryDomain AS VARCHAR(100) CHECK( VALUE ??? );
我的代码: const checkoutUrl = 'https://example.com/checkout/*' window.onload = startup() function st
一些不是我编写的应用程序,也不是用 PHP 编写的,它为域 www.example.com 创建了一个 cookie。 我正在尝试替换该 cookie。所以在 PHP 中我做到了: setcookie
什么是 oauth 域?是否有任何免费的 oauth 服务?我可以将它用于 StackApps registration 吗? ?我在谷歌上搜索了很多,但找不到答案。 最佳答案 这是redirect_
自从 In October 2009, the Internet Corporation for Assigned Names and Numbers (ICANN) approved the cre
我使用 apache 作为我的应用程序 Web 服务器的代理,并希望即时更改与 sessionid cookie 关联的域名。 该cookie有一个与之关联的.company.com域,我想使用apa
我只想托管一个子域到cloudflare。我不想将主域名的域名服务器更改为他们的域名服务器。真的有可能吗? 最佳答案 是的,这是可能的,但是需要通过CloudFlare合作伙伴进行设置,或者您需要采用
When using socket in the UNIX domain, it is advisable to use path name for the directory directory m
想象两个共享一个域类的 Grails 应用程序。也许是 Book 域类。 一个应用程序被标识为数据的所有者,一个应用程序必须访问域数据。类似于亚马逊和亚马逊网络服务。 我想拥有的应用程序将使用普通的域
我有一个包含字段“URL”的表单。第一部分需要用户在文本框中填写。第二部分是预定义的,显示在文本框的右侧。 例如,用户在文本框中输入“test”。第二部分预定义为“.example.com”。因此,总
如果我要关闭并取消分配 azure 中的域 Controller ,从而生成新的 vm Generationid,我需要采取哪些步骤来恢复它? 最佳答案 what steps do I need to
我想尝试使用 Azure 作为托管提供商(我有一个域)。我读过那篇文章https://learn.microsoft.com/en-us/azure/app-service-web/web-sites
所以.... 我想知道是否有人可以在这方面协助我? 基本上,我已经创建了一个自托管的Docker容器,用作构建代理(Azure DevOps) 现在,我已经开始测试代理,并且由于我们的放置文件夹位于W
我是一名优秀的程序员,十分优秀!