3,469
个编辑
MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
(→VisualEditor: // Edit via Wikiplus) |
(→Varnish: // Edit via Wikiplus) |
||
| 第51行: | 第51行: | ||
==Varnish== | ==Varnish== | ||
首先,要确保 Varnish 相关缓存逻辑正常工作,必须在 LocalSettings.php 设置 <code>$wgUseCdn = true;</code> | |||
===Parsoid 405=== | ===Parsoid 405=== | ||
若编辑部分页面时出现<code>连接至Parsoid/RESTBase服务器错误(HTTP 405)</code> | 若编辑部分页面时出现<code>连接至Parsoid/RESTBase服务器错误(HTTP 405)</code> | ||
配置 vcl 规则,直接请求 api.php 和 rest.php 不经过缓存。 | |||
<pre>if (req.url ~ "api.php" || req.url ~ "rest.php") | <pre>if (req.url ~ "api.php" || req.url ~ "rest.php") | ||
return (pass); | return (pass); | ||
| 第61行: | 第62行: | ||
Popups 默认情况下无论是否开启埋点功能,都会初始化 sessionId 并存储于 cookies 中,导致请求不经过缓存。 | Popups 默认情况下无论是否开启埋点功能,都会初始化 sessionId 并存储于 cookies 中,导致请求不经过缓存。 | ||
编辑 <code>extensions/Popups/includes/PopupsContext.php</code> 的第 198 | 编辑 <code>extensions/Popups/includes/PopupsContext.php</code> 的第 198 行: | ||
<pre>return false;</pre> | <pre>return false;</pre> | ||
即可实现仅登录用户启用 Popups 。 | 即可实现仅登录用户启用 Popups 。 | ||
===HTTP 模式下 PURGE 请求=== | |||
MediaWiki 默认情况下,页面更新时会发送 PURGE 代理请求 Varnish 清理缓存。这仅适用于 Varnish 被配置为 HTTP 正向代理模式时。 | |||
如果 Varnish 在 HTTP 模式下工作,编辑 <code>includes/deferred/CdnCacheUpdate.php</code> 的 304 行: | |||
<pre>$reqs[] = ( $baseReq );</pre> | |||
以及 297 行: | |||
<pre>'Host' => $urlInfo['host'],</pre> | |||
即可实现只通过 HTTP 向 Varnish 发送 PURGE 缓存清理请求。 | |||
==本地化文字修改== | ==本地化文字修改== | ||