nginx 最佳安全实践

作者:亚艾元技术部

禁用不需要的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

作者:亚艾元技术部

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标签两端对齐

作者:亚艾元技术部

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

论坛:

Drupal版本:

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

 作者:亚艾元技术部

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

 

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

 

论坛:

Drupal版本:

Drupal8 清空缓存

 作者:亚艾元技术部

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

 

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

 

还有一个办法:

论坛:

Drupal版本:

Nginx 配置子目录指向本地文件其它地方

作者:亚艾元技术部

我们将Drupal7的网站静态化以后,生成的文件,没有放到Drupal网站的根目录下面。我们没有为其分配子域名。而是采用主域名下面的子目录的形式:

 

www.example.com/subsite1/

我们原来的处理是在www.example.com所在的目录下面创建一个subsite1这样的子目录,做以下nginx配置:

location = /subsite1/ {

论坛:

Drupal版本:

Drupal 7 网站静态化打包文档

作者: 老葛 亚艾元软件

随着Drupal7版本的进入历史,官方不再维护,相信越来越多的用户,会选择将Drupal7网站静态化,这样会避免各种安全问题,还会提升速度,作为历史遗留网站的一个过渡。随着这样的需求越来越多,我们尝试了与原来boost静态化不同的静态化模式,将Drupal7网站彻底转换为静态html,完全不依赖PHP,mysql数据库。

Drupal7下面的静态化打包,我们采用static模块,在此基础之上,为了兼容nginx,做了进一步的改进。


参考配置: 


Production host:生成站点所在路径,可以包含子目录。

Root cache directory:文件的存放目录的根目录。

Normal cache directory:实际存放的本地目录


论坛:

Drupal版本:

页面

Subscribe to Think in Drupal RSS