Drupal8 实现动静分离

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2019-09-27 09:44

作者:亚艾元技术部

我们有一个客户,想在国庆期间关闭网站的数据库,还想让网站能够访问。这个需求在国内很常见。我们初步选定了boost模块基于Tome模块。首先尝试了Tome模块,总是报错,我检查了一下,网站升级不彻底,重新帮助客户升级到8.7.7,再安装Tome模块。在后台生成静态页面的时候,总是报错。我们研究一下,增加了日志输出。检查到了几个出错的页面:



论坛:

Drupal版本:

安全问题:HTTPS Session Cookie 'secure' Attribute Not Set

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2019-09-11 12:42


 作者:亚艾元技术部

安全检查公司检查做了的网站,0个高危漏洞,1个中危漏洞,当然还有很多轻微的问题。

这里的这个中危漏洞,就是:

任何以明文形式发送到服务器的 cookie、会话令牌或用户凭证之类的信息都可能被窃取,并用于身份盗窃或用户伪装。

HTTPS Session Cookie 'secure' Attribute Not Set


 给出的解决建议是:

Drupal版本:

nginx 最佳安全实践

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2019-09-11 12:36

作者:亚艾元技术部

禁用不需要的http方法:


HTTP支持的方法要多一些,实际我们平时用的就是GET|HEAD|POST, 对于TRACE和DELETE,就不常用,而且后面两种方法经常带来潜在的危险,比如跨站追踪攻击和窃取cookie信息等等。

通过下面的代码,即可禁用:

if ($request_method !~ ^(GET|HEAD|POST)$ )
{
       return 405;
}


Drupal版本:

Drupal 8 nginx 错误排查:an upstream response is buffered to a temporary file while reading upstream

g089h515r806 的头像
Submitted by g089h515r806 on 星期三, 2019-09-11 12:32

作者:亚艾元技术部

Drupal 8 网站部署的nginx有时候反应有点慢,经过查看日志,特别是错误日志,存在大量这种信息:

an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/7/74/0000035747 while reading upstream


论坛:

Drupal版本:

360浏览器兼容模式下段落P标签两端对齐

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2019-09-06 06:36

作者:亚艾元技术部

    我们在Drupal8项目中,遇到一个段落P标签对齐的问题。最新的浏览器下面,都没有问题,但是360浏览器,选择了兼容模式,问题就出来了,客户使用360浏览器的还是比较多,让我们一定解决这个问题。总是对不齐。尝试了很久,我们的工程师都没有解决,后来我们向CSS专家shixinwzw求助,给出了一个兼容性较强的CSS实现。

论坛:

Drupal版本:

Drupal8 节点更新,自动清空对应页面的匿名用户缓存

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2019-09-03 03:14

 作者:亚艾元技术部

      在Drupal7下面,开启了页面缓存以后,当你编辑了节点以后,匿名用户看到的内容需要等一个多小时,才会看到最新的修改。除非你安装expire模块,可以帮你实现这个功能。

 

到了Drupal8,expire模块的继任者purge模块,我自己看了源代码,发现他没有提供对核心自带的页面缓存的支持。我打算自己写一个模块,实现对页面缓存的支持。不过从purge模块的文档里面,我看到了Drupal8核心自己支持当编辑一个节点时,更新对应页面的缓存。

 

论坛:

Drupal版本:

Drupal8 清空缓存

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2019-09-02 07:39

 作者:亚艾元技术部

导航到管理界面,配置》开发》性能,点击清空所有缓存按钮。即可清空所有缓存。

 

如果这个时候,你的页面已经白屏,进不去。怎么办,如果是本地,可以打开phpmyadmin,找到以cache开头的数据库表,一个一个的清空缓存。

 

还有一个办法:

论坛:

Drupal版本:

页面

Subscribe to Think in Drupal RSS