你在这里

Drupal 星球

09/29/2019 - 09:05 - Think in Drupal

作者:亚艾元技术部

为了让Drupal站点运行的更快一点,我们在实际的Drupal8站点,基本上从apache 迁移到了nginx上面,使用nginx + php-fpm这样的组合,效果很好。我们常用的nginx配置参考模板:

server {     server_name example.com;     root /var/www/drupal8; ## <-- Your only path reference.       location = /favicon.ico {         log_not_found off;       ...
09/27/2019 - 17:44 - Think in Drupal

作者:亚艾元技术部

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



\Drupal::logger('tome')->notice('path:'.$path);               ///  path:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…        // png   ...
09/16/2019 - 17:01 - Think in Drupal

    作者:亚艾元技术部

Drupal 8下面的boost模块,并不完善,我们改造了一下,刚好能够满足我们的需要。

不过在配置nginx的重写规则的时候,Drupal8网站需要单独的写一个规则,我开始的时候这样写nginx下面的规则:

       if ($request_uri ~* "^/$"){       #set $frontboost "Y";               #  if ( -f $document_root/sites/default/files/boost/node....
09/11/2019 - 20:42 - Think in Drupal


 作者:亚艾元技术部

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

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

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

HTTPS Session Cookie 'secure' Attribute Not Set


 给出的解决建议是:

给cookie添加secure属性

 

我通过搜索查找,找到了一篇同样的问题:

https://drupal....

09/11/2019 - 20:36 - Think in Drupal

作者:亚艾元技术部

禁用不需要的http方法:


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

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

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


X-Frame-Options:

add_header X-Frame-Options "SAMEORIGIN";


X-XSS 保护:

add_header X-XSS-Protection "1; mode=block...
09/11/2019 - 20:32 - Think in Drupal

作者:亚艾元技术部

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

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


对应的解决办法,添加以下设置:

proxy_buffers 16 16k;  proxy_buffer_size 16k;

 

 

设置完毕以后,观察一下。参考网址

 

https://...

09/06/2019 - 14:36 - Think in Drupal

作者:亚艾元技术部

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

p {     text-align: justify;     text-justify: inter-ideograph; }


tex-justify 属性只在IE下生效,而360浏览器的兼容模式就是使用IE的内核。

text-justify: inte-idograph; 模拟时出现问题——两端对齐时最后一行也会分散对齐

text-justify: distribute; 两端对齐最后一行不分散

...

09/03/2019 - 11:14 - Think in Drupal

 作者:亚艾元技术部

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

 

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

 

我在一个测试站点上面,测试了一下。观察页面请求的

X-Drupal-Cache: MISS

如果没有编辑节点,刷新,此时为HIT,表示命中缓存。如果修改了节点,使用匿名用户访问节点,立即就可以看到最新的效果,当然需要使用浏览器的刷新按钮。此时Drupal缓存状态为MISS。

 

...

09/02/2019 - 15:39 - Think in Drupal

 作者:亚艾元技术部

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

 

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

 

还有一个办法:

打开 settings.php (/sites/default/settings.php),编辑它,添加以下代码:

$settings['rebuild_access'] = TRUE;

 

使用浏览器访问URL: http://www.example.com/core/rebuild.php

这里的...

08/25/2019 - 11:38 - Think in Drupal

作者:亚艾元技术部

使用100.110.10.123 作为默认的主机,使用100.110.10.122作为备份。

upstream mysite {          server 100.110.10.122 backup;          server 100.110.10.123;         } server {     listen 80;     server_name example.com www.example.com;     return 301 ...

页面