【问题标题】:How can I make my node.js app accessible public?如何使我的 node.js 应用程序可公开访问?
【发布时间】:2020-10-09 03:16:01
【问题描述】:

今天我做了我的树莓派零服务器。安装节点、pm2、git、nginx。等等,在我尝试让 nginx 公开访问应用程序之前,一切正常。

每当我尝试使用我的域或公共 IP 时,我都会进入我的运营商登录页面: picture of login page

这是我在 node 中的第一个应用程序,所以我什至不知道我的 nginx 是否配置良好。 nginx config 其中: server_name 是我的公共 ipv4, proxy_pass 是带有 node.js 应用程序正在侦听的端口的 raspberrypi 本地 IP。

而且您可能会发现它很有用:result of sudo netstat -an | grep LISTEN |grep :80

我尝试了什么: 使用 DNS 记录设置自定义域,它会将我发送回login page 多次重启 nginx 配置

【问题讨论】:

    标签: node.js nginx


    【解决方案1】:

    您使用的 IP 地址是您的路由器/调制解调器面向 Internet 的 IP 地址。它不是运行 nginx 的计算机的 IP 地址(可能没有面向 Internet 的 IP 地址)。

    您可以配置路由器,将给定端口的请求转发到局域网上运行 nginx 的计算机的内部 IP 地址。

    您最好使用第三方托管,而不是将网络内的计算机暴露在互联网上。

    【讨论】:

    • 感谢@Quentin 的回答,这真的帮助了我。但我为什么要使用第三方托管?在我的网络中暴露计算机是否会使它们变得脆弱?我开了防火墙。如果我愿意,你能推荐我任何第三方托管吗?我听说过 digitalocean,你会推荐它吗?
    • 如果您的代码可被利用,那么攻击者可以利用该代码向您 LAN 上的任何计算机(位于路由器防火墙后面)发出网络请求。我不会推荐任何特定的托管服务,也没有使用 digitalocean 的经验。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多