uni-app内置web服务器被防火墙禁用导致预览和运行异常的解决方案

uni-app内置web服务器被防火墙禁用导致预览和运行异常的解决方案

HBuilder内置web服务器,方便在外部或内置浏览器里查看HTML文件。

但使用该功能时,操作系统会弹框询问用户是否允许。如果用户不幸点了拒绝,那就会出现如下错误界面。

![错误界面](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/article/20180630/c61566dde26ed08ef5248c790111270e.jpg)

此时恢复办法是需要在os的防火墙中解除限制。

下面以windows10为例说明:

在控制面板里找到防火墙,点里面的允许的应用,如下图。

![允许的应用](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/article/20180630/c9bd8be7669d64dd0921afefd02e8b37.jpg)

在windows10的开始菜单里搜"防火墙"也能直接进入这个界面。

打开这个界面后,找到里面的HBuilderX或HBuilder或rcp的exe文件,把前面的对勾打上。

有的系统需要先点击右上角的更改设置才能修改。

还是要注意,当使用HBuilder时系统弹出的各种询问框,都要点允许,否则相应功能就无法使用。

有时设置后需要重启HBuilder、HBuilderX,甚至重启电脑。

更多关于uni-app内置web服务器被防火墙禁用导致预览和运行异常的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app内置web服务器被防火墙禁用导致预览和运行异常的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html


针对uni-app内置web服务器被防火墙禁用导致预览和运行异常的问题,通常可以通过以下几种方式来解决。以下是一些具体的代码和配置示例,帮助你调整防火墙设置或绕过防火墙限制。

1. 配置防火墙允许特定端口

首先,需要确认uni-app内置web服务器使用的端口号(默认可能是8080或其他)。然后,在防火墙中允许该端口的通信。

Windows防火墙示例

打开“高级安全Windows防火墙”,创建一个新的入站规则,允许特定端口的TCP连接。以下是使用PowerShell配置防火墙的示例代码:

# 允许8080端口
New-NetFirewallRule -DisplayName "Allow uni-app 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow

Linux防火墙示例

如果你使用的是Linux系统(如Ubuntu),可以使用ufw(Uncomplicated Firewall)来允许特定端口:

# 允许8080端口
sudo ufw allow 8080/tcp

2. 使用自定义端口

如果防火墙配置复杂或出于安全考虑不希望开放默认端口,可以在uni-app中配置使用自定义端口。

修改manifest.json

manifest.json中,可以指定devServer的端口:

"mp-weixin": { // 或其他平台配置
    "devServer": {
        "port": 9090 // 自定义端口号
    }
}

3. 使用内网穿透工具

如果本地防火墙策略严格,无法直接开放端口,可以考虑使用内网穿透工具(如ngrok)将本地服务映射到公网,从而在不受防火墙限制的环境中进行预览和调试。

使用ngrok示例

首先,注册并下载ngrok客户端,然后运行以下命令将本地端口转发到公网:

./ngrok http 8080

这将返回一个公网URL,你可以使用这个URL在uni-app开发者工具中进行预览和调试。

4. 检查IDE和开发者工具的网络设置

确保你的IDE(如HBuilderX)或uni-app开发者工具的网络设置没有阻止本地服务器的访问。有时候,这些工具内部的网络代理或VPN设置可能会导致访问问题。

总结

通过上述方法,你应该能够解决uni-app内置web服务器被防火墙禁用导致预览和运行异常的问题。如果问题依旧存在,建议检查防火墙日志,查看是否有更详细的错误信息,以便进一步排查。

回到顶部