Javascript Chrome扩展将数据发布到Rails服务器跨源XMLHttpRequest

Javascript Chrome扩展将数据发布到Rails服务器跨源XMLHttpRequest,javascript,ruby-on-rails,ajax,google-chrome-extension,xmlhttprequest,Javascript,Ruby On Rails,Ajax,Google Chrome Extension,Xmlhttprequest,我目前正在尝试开发一个chrome扩展,它可以从https网页检索文本到我只处理http的服务器。我已经调查过了 从这些,我推断,为了让交叉源xhr工作,我需要 设置清单权限以包括我所针对的URL 为此,我的权限如下所示: "permissions": [ "tabs", "<all_urls>" ] 我的服务器URL是一个有效的URL,我已经检查了一遍又一遍,但由于许多原因,我无法用这个问题指定;( message是一个数组,它包含一系列我想发送到服务器的不同消息 打包我

我目前正在尝试开发一个chrome扩展,它可以从https网页检索文本到我只处理http的服务器。我已经调查过了

从这些,我推断,为了让交叉源xhr工作,我需要

  • 设置清单权限以包括我所针对的URL
  • 为此,我的权限如下所示:

    "permissions": [
        "tabs", "<all_urls>"
    ]
    
    我的服务器URL是一个有效的URL,我已经检查了一遍又一遍,但由于许多原因,我无法用这个问题指定;(

    message是一个数组,它包含一系列我想发送到服务器的不同消息

  • 打包我的扩展代码并安装它
  • 从google下载之后,我将文件夹打包成一个.crx文件,并将其拖放到我的
    chrome://extensions
    安装页面

  • 在我的服务器上,安装了
    rack cors
    gem
  • 我在服务器的GEM文件中有以下行:

    gem'rack-cors',:require=>'rack/cors'

    但是,当我尝试向服务器发送数据时,仍然会收到以下错误消息

    Mixed Content: The page at MESSAGE_PARSING_URL was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint MY_SERVER_URL. This request has been blocked; the content must be served over HTTPS.
    

    我可能做错了什么?我非常感谢您的帮助。谢谢:D

    如果您从安全页面(https)的内容脚本发出不安全(http)请求,那么您将收到
    混合内容
    错误。
    您有3个选项来解决此问题:

  • 从内容脚本向服务器发出安全请求
  • 仍然使用不安全的请求,但从后台脚本发出请求。并使用
  • -允许运行不安全的内容
    标志启动chrome。但这不是一个实用的解决方案,只对开发有用(当您的登台是在http上时)

  • 您应该为服务器应用证书,并使用https。根据:

  • 资源的来源被列入黑名单
  • 已知资源的来源是intranet的一部分
  • 不支持该URL
  • 不允许https到http。
  • 由于证书错误,不允许使用https
  • Mixed Content: The page at MESSAGE_PARSING_URL was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint MY_SERVER_URL. This request has been blocked; the content must be served over HTTPS.