首页 > 解决方案 > IP地址范围的网络安全配置?

问题描述

在 Android P 中,明文通信默认是禁用的。相反,有两种选择:

我的问题与第二种方法有关。我可以在 network_security_config.xml 中将这样的特定 IP 地址列入白名单

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">192.168.1.1</domain>
    </domain-config>
</network-security-config>

但是,我想将所有私有 IP 地址列入白名单。我有一些反复试验的案例,但我无法让它发挥作用。

本质上,是否有一个选项可以在网络安全配置中定义 IP 地址范围?

标签: androidandroid-securityandroid-9.0-pie

解决方案


以为您正在寻找一种方法来允许特定范围的 IP 地址,但这次似乎不可能,您可以通过进行以下配置来允许所有 IP 地址并消除错误消息:

配置文件

<platform name="android">
...
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
...
</platform>

资源/android/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

推荐阅读