Unity网络错误-Non-secure network connections disabled in Player Settings

问题描述

在使用Unity尝试连接到服务器上的端口时,出现网络连接报错

Non-secure network connections disabled in Player Settings


问题解决

1. 打开Edit->Project Settings

2. 找到 Player -> Other Settings 

3. 将其中的 Configuration -> Allow downloads over HTTP 设置为 Always allowed(不用管警告)


问题发生原因

HTTP 与 HTTPS 的对比

特性HTTPHTTPS
数据加密不加密,数据以明文传输,易被窃听加密数据传输,保护敏感信息(基于 TLS/SSL)
身份验证无身份验证,容易遭受中间人攻击服务器身份由证书认证,防止中间人攻击
数据完整性无完整性保护,可能被篡改或伪造通过数字签名保证数据完整性
性能开销较低(无加密、握手开销)较高(需要握手和加密解密,但影响较小)
SEO 排名无额外 SEO 加权搜索引擎优先排名,谷歌等对 HTTPS 有权重加成
用户信任浏览器标记为“Not Secure”不安全浏览器标记为“Secure”安全,提升用户信任
适用场景非敏感信息传输(如普通博客)敏感数据传输(如支付、登录)或强用户信任场景

HTTPS 的主要优势

  1. 安全性高

    • 防止流量被窃听或篡改。
    • 通过加密确保数据机密性,尤其在公共网络环境中(如咖啡馆 Wi-Fi)。
    • 防止中间人攻击和假冒网站。
  2. 搜索引擎优待

    • 搜索引擎(如谷歌)对 HTTPS 网站的排名更高。
  3. 用户信任

    • HTTPS 网站的地址栏显示安全标志(如锁图标)。
    • 浏览器标记 HTTP 为“不安全”,可能吓跑用户。
  4. 符合现代规范

    • HTTPS 已成为默认标准,主流平台和 API 要求使用 HTTPS。

HTTP 被认定为“不安全”的原因(尤其在 Unity 中)

  1. 缺乏加密

    HTTP 不对数据进行加密,所有传输的数据都可以被监听到。这对于 Unity 开发中的游戏数据、用户隐私、交易信息等非常危险。
  2. 中间人攻击风险

    在 HTTP 中,攻击者可以通过中间人攻击拦截并篡改数据,例如游戏的实时状态更新或交易记录。
  3. 现代安全标准要求

    浏览器、Unity WebGL 以及主流平台都强制要求 HTTPS,特别是在处理 Web 请求或访问资源时。Unity 为了保障游戏数据和用户隐私,默认将 HTTP 标记为“不安全”。
  4. 证书验证问题

    HTTPS 的证书机制可以确保访问的是合法服务器,而 HTTP 无法验证来源。这对于游戏开发中的远程服务器调用尤为重要。
  5. Unity 官方规范

    Unity 的 WebGL 构建和 Web API 交互通常需要在 HTTPS 环境下运行,确保与主流浏览器的兼容性。这一点尤其重要,当你准备在Unity Play上愉快玩耍的时候,这个警告就会再次跳出来扰兴。

                 ​​​​​​​

        此时便只有将服务器从http升级到https这一条路可以走了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值