gpt4 book ai didi

json - 在 Google App Engine 上将 JSON 发送到 HTTPS 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:20 24 4
gpt4 key购买 nike

我在 Google App Engine 的自定义域上有一个应用程序,我需要捕获 JSON 包。

我正在使用 http://www.hurl.it/进行测试,网址如下:https://subdomain.website.net.au/folder/

这会导致服务器错误,但是如果我删除 S 并仅使用 HTTP,则请求可以正常工作。 Google 需要什么才能让它发挥作用?

更新:

使用 Curl 并运行以下命令:

curl --verbose --data "@json.txt" --header "Content-Type:application/json" "https://subdomain.website.net.au/folder/"

我收到错误:“无法获取本地颁发者证书”

当我从 http://curl.haxx.se/ca/cacert.pem 下载证书文件时并运行:

curl --verbose --cacert "cacert.pem" --data "@json.txt" --header "Content-Type:application/json" "https://subdomain.website.net.au/folder/"

它工作正常,符合预期。这是否意味着问题出在 hurl.it 上?如果是这样的话,到底是什么问题,我有一个客户试图向我发送数据,但它也不起作用。

更新2:

问题最终是客户端不支持 SNI所以我不得不使用 VIP反而。这要花钱,是一种较旧的方法,但更兼容。

最佳答案

developers.google.com 上有一篇关于如何为自定义域设置 SSL 的文章.

基本上你需要两件事:

  • SNI 或虚拟 IP 证书
  • 您的域必须是付费的 Google Apps 域才能安装证书

您的证书、您的 Google Apps 域以及将证书用于 App Engine 都会产生费用。如果您可以改用 YOURAPPID.appspot.com 域,则可以免费获得 SSL。如果您需要自定义域,我推荐上述网站。


更新您的问题后:看起来证书颁发机构 (CA) 对客户端来说是未知的或不受信任的。这可以通过使用来自 thawte 或 verisign 的商业证书来解决。或者,您可以将 CA 证书添加到操作系统或客户端应用程序的证书存储中。换句话说:在您的操作系统或应用程序中将 CA 证书安装为受信任的根证书。应该可以。

哦,你的假设是正确的。 hurl.it 不知道 CA,因此拒绝您的证书作为无效或未知的颁发者。


更新 2:Craig,你的 GeoTrust 证书应该没问题。请尝试以下操作:

  1. 请验证您是否可以使用普通网络浏览器访问此页面或您的应用托管的任何其他页面。它不应该提示证书。如果确实如此,并且您需要为证书添加异常(exception)规则,那么配置方面仍然存在错误。

    我已经有一段时间没有这样做了,但上次我使用 SSL 证书时,我以某种方式连接了实际证书和 CA,我相信有这方面的教程。因为找不到 CA.cert,所以以这种方式提供它是有意义的。

    来自 developers.google.com :'一个证书文件最多可以包含五个证书;此数字包括链式证书和中间证书。'

    另见 wikipedia

  2. 因为当您手动提供 CA 时它确实可以与 curl 一起工作,这是您的客户上传数据的临时解决方案。

  3. 请注意,并非所有应用程序都使用系统存储来存储证书。例如,Firefox 有自己的证书库,它会完全忽略您在操作系统的根证书库中所做的所有更改(至少在 Windows 下是这样)
  4. 一旦您确认该网站可以使用 HTTPS(参见 1),您就可以在该应用程序中创建一个简单的表单,其中包含一个文本区域,您可以在其中粘贴 JSON 数据并使用 jquery 或其他工具将其发送到您的应用程序。虽然这并不理想,但这是一个很好的测试,可以验证您的应用和 SSL 设置是否正常工作,以及问题出在其他地方。
  5. 如果您目前只需要上传,您始终可以将 curl 和 CA.cert 打包在一起,并添加一个小的批处理文件来进行适当的调用。

这是我可以在不查看您的实际设置的情况下为您提供的所有信息。我的建议是摆弄客户端和证书,因为这肯定是问题所在。它与 JSON 数据无关。

关于json - 在 Google App Engine 上将 JSON 发送到 HTTPS 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24728875/

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