Drupal的使用SSL托管

HTTPS是加密的HTTP请求及其响应的协议。这确保了如果有人能危及您的计算机和您从请求服务器之间的网络,他们将无法进行监听或与通信篡改。

当您通过HTTPS访问一个网站,网址如下:https://drupal.org/user/login。当您通过简单的(未加密)HTTP访问一个网站,它看起来像这样:drupal.org/user/login。

托管

为什么对你很重要(何时)

HTTPS通常在情况下使用其中一个用户就送敏感信息,该信息的网站和拦截将是一个问题。通常,这些信息包括:

  • 信用卡
  • 敏感的饼干如PHP会话cookie
  • 密码和用户名
  • 身份信息(社会安全号码,国家ID号码等)
  • 机密内容

特别是在您作为管理员,为您的服务器发送您的Drupal密码或FTP密码的情况下,你应该使用HTTPS尽可能减少影响您的网站的风险。

HTTPS也可以防止窃听者获取你的身份验证会话密钥,这是从你的浏览器发送的每个请求的网站,一个cookie,并用它来冒充你。例如,如果你是一个网站管理员通过HTTP访问该网站,而不是HTTPS攻击者可能会获得对网站的管理权限。这被称为会话劫持,并可以用工具如Firesheep来完成。

安全是一个平衡。在资源比HTTP请求(包括服务器和Web浏览器),并因为这个您服务HTTPS流量费更可能希望使用混合HTTP / HTTPS其中,网站所有者可以决定哪些网页或者使用者应当使用HTTPS。

如何使在Drupal HTTPS支持

  1. 获得证书。许多托管服务提供商设置这些为你 - 自动或收费。您也可以使用让我们的加密是免费的,自动化的,并打开证书颁发机构。如果你想确保测试的网站,你可以改为生成自签名的证书。
  2. 配置Web服务器。一些有用的链接:
    • Apache的指示。
    • Nginx的说明
    • Ubuntu的指令

    机会是,如果你使用的是共享或主机托管虚拟主机提供商你能为你做到这一点。

    注:清洁网址,如果你使用Apache HTTP和HTTPS:

    你可能会有两个不同的虚拟主机桶。

    1. 一种用于港口桶:80 HTTP
    2. 一种用于港口斗:443 HTTPS

    每个虚拟主机容器或桶的需要特定的Apache内他们,如果你正在使用清洁的网址添加。这是因为Drupal的广泛使用的.htaccess和mod_rewrite的,以提供友好的URL。

    Drupal的通过HTTP与SSL站点托管,而

    确保您有指令,这是虚拟主机容器以下儿童中的以下内容:见的AllowOverride Apache文档

    这意味着,你的.htaccess优先和Apache的配置将允许它运行如你所愿为Drupal。

    故障排除:
    如果启用了HTTPS,它仅适用于网页和你的子链接被打破,这是因为虚拟主机:443桶需要的AllowOverride全部启用,因此URL可以,而在HTTPS模式被改写。

    在Drupal 7的,如果你想支持混合模式HTTPS和HTTP会话,打开网站/默认/ settings.php文件,并添加$ CONF [“HTTPS”] = TRUE ;.这使您可以使用相同的会话使用HTTP和HTTPS - 但在HTTPS cookie被HTTPS只派了两个饼干。您将需要使用贡献的模块状securepages做任何有用的这种模式,比如通过HTTPS提交表单。虽然你的HTTP cookie是仍然容易受到各种攻击如常。被劫持的不安全会话cookie只能用来获得对HTTP站点的认证访问,这将不会对HTTPS站点有效。这是否是一个问题或不取决于你的网站的需求和各种模块配置。例如,如果所有形式的设置要经过HTTPS和您的访问者可以看到的登录用户相同的信息,这是没有问题的。

    需要注意的是在Drupal 8,混合模式支持已被删除#2342593:从核心删除混合SSL支持。

    为了更好的安全,将所有身份验证流量通过HTTPS和使用HTTP匿名会话。在Drupal的8,安装它解决了混合内容的警告安全登录模块。在Drupal 7的,离开$ CONF [ 'HTTPS']为默认值(FALSE),并安装安全登录。 Drupal的7和8的自动启用HTTPS网站session.cookie_secure PHP配置,这将导致SSL的唯一可靠的会话cookie被颁发给浏览器。在Drupal的6,看贡献模块443届和安全登录。

    为了获得最佳可能的安全,请设置您的网站只使用HTTPS,并与重定向到您的HTTPS站点的所有HTTP请求。 Drupal 7的的$ CONF [“HTTPS”]可以在纯HTTPS站点的默认值(FALSE)留下。即使这样,如果连接开始作为被重定向到HTTPS之前HTTP连接HTTPS是脆弱的人在这方面的中间人攻击。使用HSTS模块或安全套装模块。或者设置你的网络服务器的严格,运输安全头,和你的域添加到浏览器HSTS预装入列表中。以帮助防止用户访问网站,而HTTPS。

    你可能想从example.com和www.example.com的所有流量重定向到https://example.com。您可以通过添加下面的代码到你的服务器配置文件,即虚拟主机定义,这样做:

    如果你没有访问主服务器配置文件,并有义务在.htaccess文件,而不是执行此任务中使用重写规则的将是适当的:

    有在.htaccess解释如何重定向的example.com www.example.com(反之亦然)现有注释,但在这里,这些代码都重定向那些https://example.com的。

    bjdeliduka 2015年2月27评论在21:25

    作为主题说。乐趣。

    我的一个客户有许多客户使用Drupal 7站点。我们正在所有这些背后的CloudFlare(www.cloudflare.com),我们可提供免费的SSL证书,网页缓存和DDoS防护/缓解。然后,我们的防火墙服务器只接受来自CF高速缓存的连接,并确保实际的HTTP服务器没有列在DNS(客户端/浏览器应连接到CF服务器,然后将获取从实际的服务器页)。 Drupal的服务器(在CentOS 2.4阿帕奇)也使用SSL CF和服务器之间的连接进行加密(还不如把一切都出纯文本)

    虽然上述的外观和感觉就像一个很好的解决方案,以确保所有连接都是加密的,我们遇到了一个问题,一些网页是有加载加密内容IFRAMES。 (出现这种情况时Web浏览器抛出一个错误并经常拒绝加载而无需用户干预的内容)。

    选项包括1)设置代理和加密不安全的内容。虽然在技术上可能的话,给用户留下的印象会话是安全的,而有些内容是纯文本(虽然不是向/从客户端)。 2)删除内容,直到它通过安全连接的可用(客户端/客户不喜欢这个选择)3)包含该内容的网页力是未加密(HTTP)的连接,而网站的其余部分是加密的。

    我们选择了选项3。

    这些网站之前已配置为使用.htaccess文件中重写规则(可能这些移入虚拟主机配置文件出于性能的考虑,但前提是我们可以禁用.htaccess文件同意),这样每个HTTP重定向到https连接连接变为HTTPS连接。

    正常情况下,重写规则可以在表单中创建的:

    赶上与不安全的iframe页面的连接。 (重写匹配HTTP和非匹配到https)

    试试这个启用干净的URL和因为提交给Drupal的每一个页面请求则需要通过上的index.php重写引擎最后通你永远不会得到未加密的页面。

    我不能确定的确切原因,但secure_pages不被认为是一个可行的选择。

    最终的结果是溶液的一系列13重写规则/的RewriteCond线,可以有效地替换secure_pages模块,用于迫使所有,但有选择的几个(1或多个)页,以HTTPS连接。

    /流页和网站的根页的HTTP网站的其余部分是HTTPS。其他页面可以从HTTPS被/流页线下添加额外的喜好以下是格式被排除在外。

    唯一已知的侧这段代码的影响是,编辑加密的网页更复杂的admin_menu上未加密的网页下降。 1.1版本将包括从客户端浏览器(导致浏览器错误,开发商将处理时根据需要编辑页)禁用HTTP侧的方法我还将在把这个放入.htaccess文件和更详细的说明除去东西如www不必要/不需要的代码。汽提(或预先申请中)等

    selinav 2017年4月25评论在09:51

    Bairnsfather 2017年4月26评论在17:29

    我一直很高兴与https://www.drupal.org/project/securepages很长一段时间。只需加载配置页面,并把一个星号在哪些页面,你想保护的领域,即所有。我认为在项目页面顶部的警告是陈旧的;我用的模块没有补丁或修改我的.htaccess在过去的几年7.x的版本。请检查您的settings.php并确保BASE_URL变量包含HTTPS,而不是http。

    [编辑]但是,请不要把这个作为最后一个字上目前最好的方法将所有流量重定向到HTTPS这些天。根据最近的阅读,似乎HSTS是那里的东西都是领导。

    Bairnsfather评论2017年5月9日17:30

    下面是我这似乎为D7工作 D8(的具体为7.54 8.3.1在Apache使用进货的.htaccess文件只有下面提到的修改与PHP 2.4.5 30年6月5日)。简单来说,严格,运输和安全线最初不会重定向从http流量为https。 (这条线是没有看到在HTTP请求和旧的浏览器不明白。)因此,在与重写规则重定向的利益;但是,开了一个MITM攻击的可能性。但希望是与DNSSEC和理解HSTS,在现代浏览器中不到一秒钟你的浏览器会记得(为最大年龄秒),只要求HTTPS资源,即使您的网站或其他网站具有HTTP链接/资源它。换句话说,一旦您的现代网络浏览器从您的网站加载通过HTTPS页面,浏览器学习应该是严格的,只进行HTTPS请求,即使遇到资源或链接指定HTTP。

    首先,请确保您有可用的服务器通过HTTPS和证书包括所有使用的子域。最大年龄为秒,自定义为您的需求,请务必仔细阅读(至少)https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security(以下RFC链接)。

    下面几行:

    然后把#在以下三个行的前面发表评论出来;它不再适用,因为我们只是强迫所有流量为https。下面的几行已在.htaccess文件,只是下面你在粘贴什么。

    还要注意HSTS模块https://www.drupal.org/project/hsts有D7版本 D8。这是很好的,如果你运行多点,而不是所有的域有一个证书。

    您可以通过打开你的终端应用测试的东西,并卷曲以各种方式检查标头-I域。

    看这个视频!

    相关文章

    7 41 drupal的托管2013年7月23日下午1:22 EST感谢您的问题!是的,你可以使用一个共享的SSL证书。共享SSL证书是预设值,所以不存在在服务器端执行的配置操作。请...
    简介html页面WordPress的主机在WordPress中,你可以把内容在您的网站无论是作为“后”或“网页”。当你写一个普通的博客文章,你写一个帖子。帖子,在默认设置中,出现在反向...
    面搜索Apache Solr实现Drupal的主机注:额外的特别感谢道格·万提供动力终于发布这篇博客!早在2016年,当搜索API和Solr相关的模块为Drupal 8人在早期的alpha ...
    现场工具的Drupal托管一个有效的搜索简介实现是在发展中的最困难的任务之一,但它也是许多网站和应用程序的成功的关键。快速搜索和...
    Webfm模块的Drupal托管我创建一个网站的存档,这将允许用户上传各种不同类型的媒体内容,包括视频,音频,图片,文档和文本。我想很容易让用户...