标签: plone

Apache 缓存服务部分内容 206 响应对完整内容的请求

我们使用 mod_cache 在 Apache 2.2.19 后面运行 Plone 3.3.6。我们最近注意到 Apache 正在缓存对范围请求的 206 响应,然后在发出对完整资源的请求时提供该部分响应。

似乎发生了什么:

  • 某些客户端对尚未在缓存中或在缓存中但已过期的资源发出范围请求
  • Apache 正确提供 206 响应
  • 另一个客户端向同一资源发出标准请求
  • Apache 为第二个客户端提供相同的 206 响应:它应该为整个响应提供 200

这偶尔会导致我们在某些网站上的 css 出现问题

我可以始终如一地复制这一点:我编写了一个小 Python 脚本来发出范围请求。

我认为我们的 Apache 配置没有做任何不寻常的事情。我们使用反向代理配置来提供来自 Plone 的页面。mod_cache相关的Apache配置如下:

CacheEnable disk /
CacheDisable /static
CacheDisable /sitemap.xml.gz
CacheDisable /robots.txt
CacheIgnoreHeaders Set-Cookie

UseCanonicalName On

RequestHeader edit Accept-Encoding ^.*gzip.*$ gzip early
RequestHeader edit Accept-Encoding ^(?!gzip).*$ "" early
Run Code Online (Sandbox Code Playgroud)

Apache的缓存导不包括在响应“必须有”为它缓存状态代码表206级的响应。这是 Apache 中的错误还是我们在配置中做错了什么?

cache plone mod-cache apache-2.2

7
推荐指数
1
解决办法
3950
查看次数

允许一个组的所有用户使用 supervisorctl 启动和停止 zope

我只是根据最近的安全公告对我们运行 Zope 的方式进行了一些更改。在咨询中它说:

“确保 Zope/Plone 服务以最低权限运行。理想情况下,Zope 和 ZEO 服务应该只能写入日志和数据目录。”

目前我们有一个专门的 linux 用户运行 buildout,启动和停止服务器并运行 Zope 服务。我们使用supervisord来管理我们并行运行的两个 Zope 实例(relstorage 后端)。

我们当前的 zope 用户需要的不仅仅是日志和数据目录的写权限,以便它可以运行 buildout,所以我选择创建一个额外的 linux 用户 zoperun 来实际运行 zope 服务。zoperun 与 zope 在同一个组中,并且只有对 var 目录的写权限。除了一件事之外,这一切都很好:我希望原始 zope 用户能够使用 supervisorctl 启动和停止 zope 实例。

我不能让这个工作。例如,当我尝试运行时,bin/supervisorctl status我得到

错误:,[Errno 13] 权限被拒绝:文件:行:1

我认为这是因为主管套接字没有组读写权限

srw------- 1 zoperun zopeour 0 Sep 30 09:00 supervisor.sock

我已经umask = 002在 supervisord 配置中进行了设置,但这对这个 superctl 套接字没有影响。

有什么办法可以实现我想要的吗?

linux permissions plone zope supervisord

2
推荐指数
1
解决办法
4020
查看次数

标签 统计

plone ×2

apache-2.2 ×1

cache ×1

linux ×1

mod-cache ×1

permissions ×1

supervisord ×1

zope ×1