微信小程序 webview 加载第三方网页,第三方的域名根目录无法配置微信的校验文件,这个有解吗?

88 天前
 donglongfei2008

这个是不是必须通过配置微信校验文件然后小程序后台添加业务域名的方式解决?要是自己的域名可以随便加,但合作方是银行,这种人家根本不配合你搞这些东西,还有如果加载百度的某个页面,那岂不是也要在 baidu.com 的根目录放置校验文件才可以?兄弟们,还有其它的解决方法吗?

1562 次点击
所在节点    程序员
10 条回复
yjfkk
88 天前
没有
shadowyue
88 天前
配个 nginx 服务,用自己域名去代理访问。可以试试这个方案。
xuexingwei
88 天前
无解
X0V0X
88 天前
代理,我就是代理了高德地图
mixuxin
88 天前
@X0V0X 觉得可行,技术无壁垒
wenber
88 天前
server {
listen 8778;
server_name ltzf.agribigdata.com.cn;

#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# iframe 跨域问题
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_hide_header X-Frame-Options;
add_header X-Frame-Options ALLOWALL;
add_header Access-Control-Allow-Origin *; # 必须要有
add_header Access-Control-Allow-Headers *; # 必须要有

#location / {
# root /usr/share/nginx/ltzf;
# index index.html index.htm;
#}
location =/4nzqVbVMLP.txt {
root /usr/share/nginx/ltzf;
index 4nzqVbVMLP.txt;
}
location ^~/ {
proxy_set_header Accept-Encoding "";
proxy_set_header Referer "https://h5.aicloudav.com/";
proxy_pass https://h5.aicloudav.com/;

add_header Access-Control-Allow-Origin *;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/nxh5cj;
}
}
isSamle
87 天前
Nginx 代理啊,一个 Nginx ,配 N 个子路由,每个子路由下面代理不同的服务
donglongfei2008
87 天前
@X0V0X 你是 webview 加载了高德地图是吗?准确的说是通过 webview 加载自己服务器下的某个页面,然后这个页面实际是被 nginx 转发到了高德的页面对吗?
@wenber @X0V0X @isSamle 几位兄弟都有成功的案例是吧?小程序这块限制的太严格了
X0V0X
87 天前
@donglongfei2008

location ^~ /xxxx/map/ {
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Headers *;
add_header Access-Control-Allow-Methods "GET, POST, PUT, OPTIONS";
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass https://m.amap.com/;
proxy_redirect off;
proxy_set_header Host 'm.amap.com';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_read_timeout 600s;
proxy_send_timeout 300s;
proxy_temp_file_write_size 256k;
}
donglongfei2008
87 天前
@X0V0X 它的实现原理是不是这样?
1.小程序通过 webview 加载自己可控的业务域名下的某个页面,前提自己的域名根目录下已配置校验文件
2.加载自己域名下的页面时,通过 nginx 的代理转发机制重定向到第三方页面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1082495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX