Drupal9信任主机如何配置?

  使用Drupal9二次开发的网站,上传到阿里云虚拟主机,安装成功后,白龙网发现,在“管理->报告->状态报告”页面显示一条“信任主机设置未启用”的错误报告:settings.php中的trusted_host_patterns设置未配置。这可能导致安全漏洞。强烈建议您配置此项。更多详情请参见防止HTTP_HOST头攻击。
 
  一、根据drupal9系统的提示,在阿里云虚拟主机\htdocs\sites\default\目录中下载settings.php配置文件到本地,并找到信任主机设置的相关说明:

/**
 * Trusted host configuration.
 *
 * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host
 * header spoofing.
 *
 * To enable the trusted host mechanism, you enable your allowable hosts
 * in $settings['trusted_host_patterns']. This should be an array of regular
 * expression patterns, without delimiters, representing the hosts you would
 * like to allow.
 *
 * For example:
 * @code
 * $settings['trusted_host_patterns'] = [
 *   '^www\.example\.com$',
 * ];
 * @endcode
 * will allow the site to only run from www.example.com.
 *
 * If you are running multisite, or if you are running your site from
 * different domain names (eg, you don't redirect http://www.example.com to
 * http://example.com), you should specify all of the host patterns that are
 * allowed by your site.
 *
 * For example:
 * @code
 * $settings['trusted_host_patterns'] = [
 *   '^example\.com$',
 *   '^.+\.example\.com$',
 *   '^example\.org$',
 *   '^.+\.example\.org$',
 * ];
 * @endcode
 * will allow the site to run off of all variants of example.com and
 * example.org, with all subdomains included.
 */
 
  二、参考信任主机的注释,在本地settings.php文件的末尾添加如下代码,并使用FTP上传该文件到阿里云虚拟机\htdocs\sites\default\settings.php:
 
$settings['trusted_host_patterns'] = [
   '^www\.bailong\.org\.cn$',
 ];
 
  需要说明的是,白龙网的域名作了重定向:从bailong.org.cn重定向到了www.bailong.org.cn,因此,只需要按照上述格式,配置域名www.bailong.org.cn即可。
 
  1.当FTP提示上传失败时,检查FTP目录\htdocs\sites\及其子目录权限,发现该目录及其子目录没有“写入”权限;需要说明的是,在FTP中给site目录及其子目录授予“读/写”权限,一直无效;
 
  2.然后,登陆阿里云主机管理控制台,在“文件夹管理->文件夹管理器”中找到并给予site目录及其子目录“读/写”的权限;同时,删除阿里云虚拟机中的\htdocs\sites\default\settings.php文件;
 
  3.通过FTP上传本地配置好的settings.php文件至阿里云虚拟机\htdocs\sites\default\目录下;
 
  三、经过上述操作,在drupal后台“管理->报告->状态报告”页面刷新之后,显示“信任主机已启用”:
 
Enabled
The trusted_host_patterns setting is set to allow ^www\.bailong\.org\.cn$
 
  至此,在阿里云虚拟主机上出现的drupal“信任主机设置未启用”的问题就彻底解决了。白龙网认为,如果有多个域名,并且没有作重定向配置,则可以根据信任主机注释说明,按照要求的格式,把相关域名添加到settings.php即可。