ios审核解决方案

**1,**ipv6 IP[国外代理服务器] 和 ipv4 IP[国内数据服务器] 均解析到 domain.com

**2,**ipv6 服务器同时具有ipv6和ipv4网络支持[此时,系统内部可以自实现ipv6相互转发ipv4],并配置nginx反代理,代理指向ipv4的域名domain.com去取得数据(另:因为同一个域名下,经ip区分,或者配置hosts优先解析到ipv4的domain.com,由于IOS不支持IP访问,所以只能使用域名)

Nginx配置,可复用:
server { 
        listen [::]:80;//v6 必须
        server_name domain.com;
        location / {
                proxy_pass https://domain.com/;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}
server{
	listen 443 ssl;
	listen [::]:443 ssl ipv6only=on;
	server_name domain.com;

	ssl_certificate crt.crt;
	ssl_certificate_key crt.key;
	ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
	ssl_prefer_server_ciphers on;
	ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
	keepalive_timeout 70;
	ssl_session_cache shared:SSL:10m;
	ssl_session_timeout 10m;
	add_header Strict-Transport-Security max-age=63072000;
	add_header X-Content-Type-Options nosniff;

	location / {
		proxy_pass https://domain.com/;
		proxy_redirect off;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
}

以防万一Ubuntu添加hosts记录,文件地址 /etc/hosts
ipv4_address domain.com

**3,**待审核通过后,删除v6解析也可保留下次用。

验证过程:

1).一台纯ipv6环境A服务器,模拟苹果审核测试场景;一台代理B服务器v6和v4同时开启;数据在公司的C服务器v4网络;
2).域名:domain.com 解析到B 和 C
3).在A服务器,访问domain.com,是经v6指向B而不是C,B经v6转v4从C取得数据并返回A,成功.

ip addr del <ipv4 address>/CIDR dev ethN   //注:纯V6环境则需把IPV4从公网网卡除去,N值看服务器可知。另,防火墙要开启V6放行,不然便将失去控制Byebye了
影响:

1).domain.com 加一条代理v6的记录
2).一台支持v6&v4的服务器
end.