同一个wifi链接的局域网,通过虚拟域名访问另一台电脑(方便前端调试api)
Posted FZ-august
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同一个wifi链接的局域网,通过虚拟域名访问另一台电脑(方便前端调试api)相关的知识,希望对你有一定的参考价值。
背景
项目需要开发一个新功能,前后台配合开发,后端出接口,前端接入,前端开发进度快,后端开发一个接口前端就接入一个,频繁提交代码到测试环境或者频繁切换开发分支都比较麻烦,所以直接访问后端开发的本地代码,进行对接。
参考资料
Win10如何设置防火墙开放特定端口 windows10防火墙设置对特定端口开放的方法
1.windows防火墙-高级设置-入站规则-新建规则-端口-tcp-特定本地端口-允许连接-何时应用(域、专用、公用)-添加名称
入站规则是别人访问你的电脑,出站规则是你访问别人的电脑
2.前端同事要在host中添加一个虚拟域名, 192.168.1.15 xxx.com。【直接用ip访问,报错404,时间紧急,没有查看日志找,就先不写了】
3.如果不行,就临时把专用网络的防火墙关闭。
如何在通过WiFi热点连接的另一台设备上加载笔记本电脑的localhost网站?
我想将传感器数据从一个设备(带有传感器和wifi热点)传输到通过WiFi热点连接到传感器设备的其他设备。为此,我想托管一个在传感器设备上侦听端口80的本地主机网站,然后仅在其他设备上打开该站点(通过传感器设备设置的WiFi热点),但是当我尝试通过输入URL来尝试此操作时:http://192.168.1.110 ,我得到无法访问此站点 http://192.168.1.110/无法访问。如何访问其他设备上的本地主机网页?。
但是,(为什么?)当设备连接到我家的WiFi路由器时,这可以很好地工作。这是图像(这是它的外观):
这是我正在运行的node.js
文件index.js:
const app = require("express")();
const http = require('http').Server(app);
const io = require('socket.io')(http);
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
var clients = 0;
io.on('connection', function(socket) {
clients++;
socket.emit('newclientconnect',{ description: 'Hey, welcome!'});
socket.broadcast.emit('newclientconnect',{ description: clients + ' clients connected!'})
socket.on('disconnect', function () {
clients--;
socket.broadcast.emit('newclientconnect',{ description: clients + ' clients connected!'})
});
});
port = 80
http.listen(port, () => {
console.log("listening to port",port)
})
这是html文件index.html:
<html>
<head>
<title>
broadcasting_demo
</title>
</head>
<script src = "/socket.io/socket.io.js"></script>
<script>
var socket = io();
socket.on('newclientconnect', (data) => {
document.body.innerHTML = '';
document.write(data.description);
document.write("<h1><br>Hello world, this site works<br> on other devices<br> if you're connected to my home wifi!</h1>")
});
</script>
<script></script>
<body>
<h1>this is a demo</h1>
</body>
</html>
当您使用家庭无线网络时,传感器的ipaddr为192.168.1.110,因此您可以通过网络访问它,
但是当您连接到传感器的热点时,它将具有其他一些可访问它的公共ipaddr,因此您需要使用该ip来代替
要知道您可以简单地使用节点库public-ip
npm install public-ip
然后是>>
const publicIp = require('public-ip'); (async () => { console.log(await publicIp.v4()); //=> '46.5.21.123' })
现在您应该可以通过传感器的热点http://46.5.21.123访问该网站
您的IOT设备是否正在运行DHCP服务器?
以上是关于同一个wifi链接的局域网,通过虚拟域名访问另一台电脑(方便前端调试api)的主要内容,如果未能解决你的问题,请参考以下文章
如何在通过WiFi热点连接的另一台设备上加载笔记本电脑的localhost网站?