我有一个在 GCP 计算引擎上运行的 python flask-cors 代码,并在端口 3001 上显示其输出。假设我的服务器实例的物理地址是 x1.x2.x3.x4。
我有一个名为 myJSFile.js 的 Javascript 文件,该文件由 javascript 插件加载。它包含以下几行代码(其余代码未提供,因为它们似乎与问题无关):
fetch('http://x1.x2.x3.x4:3001/p1', {
method: 'POST',
body: JSON.stringify({ message: text123 }),
mode: 'cors',
headers: {'Content-Type': 'application/json'},
myJSFile.js 在公共云存储桶中共享,以便嵌入到公共网站的插件可以访问它。
当我从 html 文件(本地在我的计算机上)运行插件时,它运行没有任何问题并且提供了结果。
当我从 wordpress 网站 aaa.com 运行插件时,出现错误:
混合内容:页面“https://aaa.com/”通过 HTTPS 加载,但请求了不安全的资源“http://x1.x2.x3.x4:3001/p1”。此请求已被阻止;内容必须通过 HTTPS 提供。
我检查了我的计算引擎实例属性,它显示“https 流量:开启”。
我尝试在代码中将 http 更改为 https,但未能解决此问题。在浏览器中,我看到错误:“无法加载资源:net::ERR_SSL_PROTOCOL_ERROR”
在服务器上,我注意到以下错误:
我注意到有一些解决方法,例如本网站在 wordpress 中。但是,为了拥有更通用的插件,我正在寻找一种解决方案,允许我通过更改 GCP 设置或更改我的代码来解决这个问题。任何建议都非常感谢;此外,如果有任何关于如何增强我当前共享 js 文件的方法的建议,请告诉我。