我不是网络专家,所以如果某些事情看起来很愚蠢,我很抱歉。
我在连接到位于我家外部的RPI节点.js服务器时遇到问题。我使用了NO-IP并使用特定的主机名在路由器上配置了它。我已将端口转发到 8888 端口。
var express = require("express");
var app = express();
var http = require("http").Server(app);
var io = require('socket.io')(http);
var path = require('path');
http.listen(8888, "0.0.0.0");
/*app.use(function (req, res, next){
res.setHeader('Access-Control-Allow-Origin', 'http://hostname:port');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});*/
app.use(express.static(path.join(__dirname, '/')));
app.get("/home",function(req,res,next){
res.sendFile(path.join(__dirname + "/index.html"));
});
console.log("server ubi jeza");
如果我尝试连接到 http://hostanme.org 它会连接到我的路由器。如果我尝试连接到 http://hostanme.org:8888 它会超时。
端口转发检查工作正常,并说当我运行服务器时端口 8888 正在工作。当服务器未运行时,它表示连接已关闭。
我也尝试过sudo nano /etc/sysctl.conf
和net.ipv4.ip_forward=1
但它不起作用。
我做错了什么吗?
我可以从外部世界访问页面。当我在本地网络上时,我无法使用外部 IP 访问它。