我在浏览器中收到此错误:
Mixed Content: The page at 'https://{my-site}' was loaded over HTTPS, but
requested an insecure XMLHttpRequest endpoint 'http://{my-api}'. This request
has been blocked; the content must be served over HTTPS.
我知道我需要允许https一些方法。该应用程序使用Gunicorn在自定义Google App Engine Flexible Environment上运行应用程序。它也使用烧瓶。这是我的app.yaml:
runtime: custom
env: flex
service: flex-module
entrypoint: gunicorn -b :$PORT main:app
是否可以更改可扩展服务代理中的某些设置以允许App Engine中的https?或者我是否需要获得ssl证书和密钥并将以下内容添加到我的app.yaml:
gunicorn -w3 --certfile=server.crt --keyfile=server.key test:app
此外,我不确定是否需要将其添加到gunicorn.conf.py
,如this documentation中所示:
forwarded_allow_ips = '*'
secure_scheme_headers = {'X-APPENGINE-HTTPS': 'on'}
由于
答案 0 :(得分:0)
如documentation所述,Google不会为appspot.com上托管的双通配符域颁发SSL证书:
注意:Google建议使用HTTPS协议向您的应用发送请求。 Google不会为appspot.com上托管的双通配符域颁发SSL证书。因此,HTTPS请求必须使用字符串" -dot - "作为URL表示法,而不是"。"用于分隔子域。你可以使用简单的"。"带有您自己的自定义域和其他HTTP地址的URL表示法。有关更多信息,请参阅以下部分中的HTTP和HTTPS示例。
因此,要通过https允许API请求并避免混合内容浏览器错误,而不是http://version-one.my-app.appspot.com
我需要向https://version-one-dot-my-app.appspot.com
发送请求
答案 1 :(得分:0)
要进行HTTPS调用,请在app.yaml文件中添加以下配置,为您的应用启用ssl库:
libraries:
https://google-auth.readthedocs.io/en/latest/user-guide.html