繁体   English   中英

如何连接到 iOS 上的非安全本地主机 websocket?

[英]How to connect to a non-secure localhost websocket on iOS?

我有一个 Qt 应用程序,它捆绑了一个浏览器和一个在端口 50050 上托管非安全 websocket 服务器的应用程序。浏览器尝试通过 ws://127.0.0.1:50050 连接到该应用程序,这在 macOS 上运行良好。 然而,在 iOS 上,连接失败。 我怀疑这是由于 iOS 特定的安全设置——也因为允许使用 local.network 的对话框没有出现。 请在此处找到我在 Info.plist 文件中应用的与网络相关的安全密钥列表

<key>NSLocalNetworkUsageDescription</key>
<string>Uses local networking to communicate settings…</string>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key><true/>

<key>NSAppTransportSecurity</key>
       <dict>
                <key>NSAllowsArbitraryLoads</key><true/>
                <key>NSAllowsArbitraryLoadsForMedia</key><true/>
                <key>NSAllowsArbitraryLoadsInWebContent</key><true/>
                <key>NSAllowsLocalNetworking</key><true/>
                <key>NSExceptionDomains</key>
                <dict>
                        <key>localhost</key>
                        <dict>
                                <key>NSExceptionAllowsInsecureHTTPLoads</key><true/>
                                <key>NSIncludesSubdomains</key><true/>
                        </dict>
                        <key>mydomain.com</key>
                        <dict>
                                <key>NSExceptionAllowsInsecureHTTPLoads</key><true/>
                                <key>NSIncludesSubdomains</key><true/>
                        </dict>
                </dict>
        </dict>

我在安全密钥方面是否遗漏了任何内容,或者是否有人对如何解决此问题有不同的建议?

在 iOS 上,在安全网站 (https) 的上下文中不允许使用非安全网络套接字(既不是本地主机)。 在 OSX 上,除 Safari 之外的任何浏览器都允许使用它。解决方案是使用非安全网站 (http) 或在需要 https 时在本地主机上创建安全的 websocket。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM