Caching 针对来自Odoo的不安全资源的混合内容警告

Caching 针对来自Odoo的不安全资源的混合内容警告,caching,odoo,service-worker,mixed-content,Caching,Odoo,Service Worker,Mixed Content,我正在运行Odoo,希望添加一些缓存机制 为此,我只添加了一个服务人员和以下rout: workbox.routing.registerNavigationRoute( “/web/”, workbox.strategies.staleWhileRevalidate() )) 不幸的是,我现在总是收到以下错误消息: 混合内容:位于“”的页面通过HTTPS加载,但请求了不安全的资源“”。此请求已被阻止;内容必须通过HTTPS提供 显然,奥多提到了一些不安全的来源。现在我有以下问题: 1) 我如何才

我正在运行Odoo,希望添加一些缓存机制

为此,我只添加了一个服务人员和以下rout:

workbox.routing.registerNavigationRoute( “/web/”, workbox.strategies.staleWhileRevalidate()

))

不幸的是,我现在总是收到以下错误消息: 混合内容:位于“”的页面通过HTTPS加载,但请求了不安全的资源“”。此请求已被阻止;内容必须通过HTTPS提供

显然,奥多提到了一些不安全的来源。现在我有以下问题: 1) 我如何才能识别这些来源(全部)?我能扫描整页吗? 2) 我能告诉你如何运行我的服务人员而忽略不安全的文件吗?这是一种在不调整现有应用程序代码和修复所有不安全文件的情况下仍然遵循我的目标的方法吗

提前谢谢

(这不是特定于Workbox的,因为无论何时使用
https://
,混合内容都是不安全的问题)

关于如何识别正在加载的不安全资源的完整列表,本文提供了一些建议

正如在那篇文章中提到的,假设加载的每个URL都存在
https://
版本,您可以在提供HTML时使用
内容安全策略:升级不安全的请求
响应头来通知浏览器


服务人员需要安全的源代码,而安全的源代码无法通过http://

加载资源。我遇到了一个类似的问题:在电子学习模块(“幻灯片”)中加载PDF演示文稿会通过http而不是https请求资源。在我的案例中起作用的是:

  • proxy\u mode=True
    添加到
    odoo.conf
    [options]
    部分(如果使用docker部署,请将odoo.conf放入
    /etc/odoo/odoo.conf
    ,在其
    docker compose.yml
    示例中是一个共享文件夹(
    /config:/etc/odoo
  • 我正在使用的nginx配置(我缺少X-Forwarded-Host头):
  • 在开发人员模式下,转到设置->技术->系统参数,并确保
    web.base.url
    包含https://(有些人还将
    web.base.url.freeze
    设置为True——这似乎对我的安装没有影响)
重新启动nginx,重新启动odoo,瞧,幻灯片中的PDF正在通过https://请求

location / {
proxy_pass http://localhost:8069;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_redirect off;
proxy_request_buffering off;
proxy_connect_timeout  36000s;
proxy_read_timeout  36000s;
proxy_send_timeout  36000s;
send_timeout  36000s;
client_max_body_size 10240m;
}