node.js - 不能从外网访问nodejs?
问题描述
我有一个 Fritzbox 7490 路由器,并有一个端口转发(我认为)一个端口 8080。
由于某种原因,此端口未对外开放,但可通过路由器 IP 地址访问。
我设置了一个 nodejs express 应用程序,它托管 html 页面并侦听端口 8080
app.listen(8080, '0.0.0.0', function() {
console.log('Listening to port: ' + 8080);
});
然后,我在浏览器中输入: routerip:8080 ,它工作正常。但是,如果我从外部源连接 routerip:8080
我没有得到任何回应。
在线端口检查器说该地址无法访问,这导致我回到我的端口转发无法正常工作。
Fritzbox 端口转发设置:
名称:HTTPS-服务器协议:TCP 到设备的端口:8080 通过端口 8080 外部请求的端口(ipv4):8080
启用共享:真
然后它给了我一个互联网上的 IPv4 地址,具有相同的端口 8080
我尝试并在本地连接,但不是在外部连接。
我究竟做错了什么?
解决方案
这有点任务。
我的 isp 阻止了端口转发。显然我有一个动态IP地址,但IP地址没有改变...... DHCP没有启用。我在本地和外部跟踪路由器的公共 IP 地址并被 isp 阻止。
我打电话,他们说端口转发是一个安全问题,并说他们无能为力。
我仔细检查了tracert,想了一会儿。然后再次打电话,说必须是你们......他们说要多付一点钱,说一些关于网络变化的事情,并分配了一个静态IP。然后它起作用了......
虽然有点生气额外收费...
推荐阅读
- python - 如何根据当前日期创建文件结构?
- file-upload - 边缘浏览器的严格模式下不允许分配给只读属性
- angular - 在某个点中止 concat observables
- c - strncpy 调用的段错误
- python-3.x - 识别和计算(时间序列)数据框中列的交替部分
- mysql - R 到 MySQL 查询
- php - 在 Ubuntu 18.04 上的本地机器上设置现有 Laravel 项目时出现问题
- nginx - nginx prometheus exporter 收集的指标是之前收集的,具有相同的名称和标签值
- java - 导出为 HTML 时如何使报表大小适应屏幕大小
- javascript - Netlify 表单仪表板不显示输入类型文件