私はこれについて多くのことを読んでいて、私が見つけた方法の多くを試していましたが、まだ適切に機能するものを得ることができていません。
管理領域と関連するログインページを保護できるようにしたい。したがって、example.com/admin/*やexample.com/user/*などのすべてのものは、SSL/TLSを経由する必要があります。マルチサイト設定の各サイトにこれを適用します。したがって、example1.com、example2.com、example3.comはすべて同じサーバー/ユーザーアカウントにあります。
セットアップ
注意事項
質問
サイトのすべてに対してHTTPSを有効にすると、https://を通過しようとするすべてに対して404が返され、書き換えルールがhttpsページに適用されていないと思われます。ここで何が欠けていますか?これを修正するためにhtaccessに追加できる書き換え条件/ルールはありますか?
Drupalコミュニティの問題は解決していませんか?ユーザーのパスワードが平文で送信されているため、人々は管理領域を無防備のままにしていますか?これは信じられませんが、まだあるようですこの問題に対する組み込みのソリューションまたは一般的に知られているソリューションはありません。
それはあなたが尋ねた質問ではありませんが、最も簡単な答えはあなたがただあなたの方針を変えるべきであるということです。
コアを「ハッキング」(パッチング)して不安定なリリースを実行することは、Webサイトを実行する現実です。
セキュアページに必要な2つのパッチは、頻繁に再ロール、レビュー、または改善が必要です。そのサイクルに参加して、彼らを安定させるのを手伝ってください。
私は次の設定を使用してこれを実現しました...それを行うためのモジュールは必要ありませんでした。 1)httpd.conf
#Apache stuff...
Listen 443
NameVirtualHost *:443
Include conf.d/vhosts/*.conf #Need this for multi-site and subdomains
<IfModule mod_header.c>
#enable HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
2)conf.d/vhosts/site1.conf
<VirtualHost *:443>
#Apache stuff...
SSLEngine on
RewriteCond %{HTTP_Host} !^www\. [NC] #Force www... be careful with subdomains
RewriteRule ^ https://www.%{HTTP_Host}%{REQUEST_URI} [L,R=301]
</VirtualHost>
3)settings.php
$base_url = 'https://www.example.com'; // NO trailing slash!
そして、voooala !!これにより、jsやcssなどのリソースを含むすべてのhttpトラフィックがhttps経由で移動します。サブドメインが必要な場合は、vhostsファイルに適切なServerAliasディレクティブを追加してください。
私は bercart SSLモジュール を使用していますが、これは恐ろしいnamedですが、素晴らしいモジュールです。あなたがするしないUbercartを実行する必要がある非常に安定していて使いやすいこのモジュールを利用します。