【问题标题】:Setting up a web server for access outside of subnetwork (Node.js, Nginx maybe, Ubuntu server)为子网之外的访问设置 Web 服务器(Node.js、Nginx 可能、Ubuntu 服务器)
【发布时间】:2015-08-26 20:27:30
【问题描述】:

一点上下文。我在 node.js 上开发了一个 webapp(和一组迷人的扩展)。它已获准在我的公司与真正的用户进行测试,我现在应该部署它。问题是基本上我不知道如何解决这个问题。我有很多问题。

目前我已经在本地服务器上创建了一个虚拟机。我已经为它安装了 ubuntu 服务器,并且我对如何在这部分中部署应用程序有直觉(我想遵循与我开始从事这个项目时相同的步骤)。但是我不知道我是否可以从我的网络外部远程访问这个虚拟机。我也不知道是否需要在 ubuntu 方面进行额外的配置才能使这样的想法发挥作用(例如:在安装中,有一部分关于代理的部分,当时我决定忽略)

从我被分配这个任务以来我读过的几篇关于它的文档中,一个解决方案可能在于使用 nginx。如果我没记错的话,它背后的逻辑(如果我错了,请纠正我)是 nginx 可以帮助链接 HTTP 请求(通过通常在大多数机器上打开以供访问的端口 80)并将其链接到特定端口机器(我开发的性感应用)。

在更早期的阶段,我需要哪些资源才能开始这项工作?我需要一个域名吗?有必要吗?我需要不同的虚拟服务器来链接应用程序还是可以在同一台机器上?

如果您对正在学习做这种事情的人有更多的 cmets 或提示,请这样做。

【问题讨论】:

  • 您始终可以做的是 - 如果您的服务器可以通过自己的 IP 地址访问,则将您的 node.js 程序绑定到一个端口,然后通过 server-ip-address:nodejs-port 调用它。我尝试使用路径来寻址端口,但现在我无法使用 nginx 做到这一点

标签: node.js ubuntu nginx proxy server


【解决方案1】:

对于远程访问,您需要做一些事情。首先,您需要确保您的虚拟机位于桥接适配器上。我不确定您在哪个虚拟机上,或者我会为您提供有关如何执行此操作的更多详细信息。其次,您需要确保您的路由器通过端口转发设置了端口 80(或您选择使用的任何端口),以便进入映射到服务器的请求(请求到达该端口上的路由器,路由器必须然后知道将这些请求发送到哪里)。最后,如果你想使用端口 80 以外的端口,你应该可以在 nodejs 配置中进行配置。这也可以在路由器中进行配置,以便将来自端口 80 的请求映射到例如 8080,但是,鉴于这是一家公司,重新配置 nodejs 服务器可能比设置特殊映射更容易。

这种体验来自于在家中托管 Web 服务器的个人经验。公司路由器应该需要类似的配置,除非每个系统在互联网上都有一个公共 IP 地址,这是不太可能的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多