gpt4 book ai didi

javascript - HTTPS 到 HTTP JSONP 请求

转载 作者:可可西里 更新时间:2023-11-01 02:27:52 26 4
gpt4 key购买 nike

我在将 JSONP 请求从 HTTPS 站点发送到 HTTP 站点时遇到问题。

我有一个通过 https(具有有效证书)的(非本地)测试环境,我可以在其中成功运行所有这些跨站点/“跨协议(protocol)”请求(有警告,但没有错误)。

Google Chrome Javascript 控制台输出:

The page at https://my.test.environment/ ran insecure content from http://non.secure.site/service?jsonCallback=jsonp1331132928704

但是,在生产环境中(在 Google App Engine 上,appspot 子域)Google Chrome 会阻止所有等待用户确认的请求。

Google Chrome Javascript 控制台输出(特别注意[blocked] 文本):

[blocked] The page at https://production.appspot.com/ ran insecure content from http://non.secure.site/service?jsonCallback=jsonp1331132928704

我知道我所做的并不安全,但此服务由第三方提供,目前尚无可用的 SSL 通信。我真的对此感到困惑,因为我不明白为什么在测试环境中而不是在 appspot (Google App Engine) 下工作(有警告)。

我试图调查 header 但没有成功。

测试环境 header :

Connection:Keep-Alive
Content-Encoding:gzip
Content-Language:es
Content-Length:2524
Content-Type:text/html;charset=utf-8
Date:Wed, 07 Mar 2012 15:48:30 GMT
Keep-Alive:timeout=15, max=100
Set-Cookie: cookie_info...
Vary:Accept-Encoding

APPSpot header :

access-control-allow-credentials:false
access-control-allow-origin:*
cache-control:no-cache, must-revalidate
content-encoding:gzip
content-length:47890
content-type:text/html; charset=utf-8
date:Wed, 07 Mar 2012 14:52:02 GMT
expires:Fri, 01 Jan 1990 00:00:00 GMT
pragma:no-cache
server:Google Frontend
set-cookie: coookie_info....
status:200 OK
vary:Accept-Encoding
version:HTTP/1.1

我不知道为什么这在测试环境中有效,但谷歌浏览器在 APPSpot 上阻止了相同的方法。

有什么想法吗?

最佳答案

apache 代理将代表您向端点发出请求。您甚至可以向服务发出非 jsonp 请求(json、xml、图像、发布、放置、删除等),因为浏览器认为它正在向同一域发出请求。

您的 non.secure.site 虚拟主机文件将包含类似

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Allow from all
</Proxy>
ProxyPass /appspot https://production.appspot.com/
ProxyPassReverse /appspot https://production.appspot.com/

设置完成后,您只需调用该服务...

http://non.secure.site/appspot/service?jsonCallback=jsonp1331132928704

Google proxypass 获取更多信息

https://serverfault.com/questions/429404/help-me-understand-how-to-use-proxypass

关于javascript - HTTPS 到 HTTP JSONP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9604784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com