我有一台ubuntu18机器,其中开发了一个Web应用程序。
该Web应用程序具有一个前端(HTML,CSS和Javascript)和一个后端(Nodejs,python,java)。前端和后端通过websocket通信。后端由两台服务器组成,一台运行在Node.js上,另一台运行在Java上。
当我在本地主机上测试应用程序时,一切正常。我想使用我的公共IP地址,以便互联网上的任何人都可以访问此应用程序。我现在没有域名。
如何使我在ubuntu机器上运行的后端服务器可用于世界各地的websocket连接?
由于我是该领域的新手,所以请提供详细的说明。
答案 0 :(得分:0)
有不同的npm模块可用,以便提供域名并最终提供从外部访问本地服务器的功能。话虽如此,如果服务器停止运行,那么您可能必须再次生成一个新域名并在整个域名之间共享。也有其他方法可以缓解这种情况。
但是我从您的问题中了解到的是this is the answer you are looking for.。希望这会有所帮助。
答案 1 :(得分:0)
要公开在计算机上本地运行的服务器,您需要允许在正确的端口上访问网络,这意味着让路由器知道在接收到特定端口的网络流量时该怎么做。默认情况下。
尽管对于大型项目而言,这可能不是最安全的解决方案,但通常这是托管大多数服务器(包括HTTP服务器,游戏服务器等)的方式,为了实现这一目标,您必须向前移植您的路由器。
要让路由器知道接收到指向某个端口的流量时如何采取行动,必须通过网关访问其配置。建议您在线查找特定的路由器型号,以获取快速简便的指南,但是通常是这样的:
端口转发路由器之后,服务器应该可以通过您的外部IP地址(Use this to easily find out what your external IP is,以及您定义的端口,例如: 264.186.45.7:1337 。 >
要使用自定义DNS解析程序以便为服务器提供自定义URL,可以使用noip之类的免费工具,这些工具可以为服务器提供免费的主机名。您所需要做的就是设置一个主机名并下载其客户端,该客户端会自动将所有服务器的流量重新路由到该外部URL,因此,您可能会拥有一个很好的主机名,例如 awesome-server.ddns.net ,而不是IP地址。 strong>。
这不是非常深入的指南,只是将本地服务器公开给外界的必要步骤的简要介绍,因此对于每个步骤都需要进行大量研究。如果您需要任何进一步的帮助或想要指出一些问题,请随时编辑答案或在下面留下评论。
答案 2 :(得分:0)
您可以做的一件事是不需要从路由器进行端口转发 相同的方式
尝试使用ngrok(https://ngrok.com/),它不需要端口转发,下载ngrok并运行ngrok.exe tcp 5001
5001是要连接的端口,tcp是协议(http,tcp,..)进行连接在线使用“转发”,它类似于4.tcp.ngrok.io:4869,它将转发到本地主机端口5001
注意:您可以在没有帐户的情况下使用它,但是它将每7小时过期一次,查看使用的帐户,其内容为https://dashboard.ngrok.com/auth/your-authtoken(创建帐户后)