記事のディレクトリ
httpdのリダイレクト
まず、リダイレクト
1.1フォーマット:
リダイレクト[状態] URLパスURL
2.2パラメータ
ステータスの状態:
- 常設:ステータスコード301恒久的なリダイレクトを返します。
- 温度は:これはデフォルト値である一時的なリダイレクトステータスコード302を返します。
2.3 例:
https://www.a.comへジャンプhttp://www.a.comアクセスする場合
環境:達成訪問HTTPS(参照)
2.3.1方法1
仮想ホストを経由して
<virtualhost *:80>
documentroot /data/asite
servername www.a.com
<Directory "/data/asite">
Require all granted
</Directory>
redirect temp / https://www.a.com
</virtualhost>
テスト:
[root@node1 ~]# curl -I www.a.com
HTTP/1.1 302 Found
Date: Sat, 22 Feb 2020 18:32:57 GMT
Server: Apache
Location: https://www.a.com
Content-Type: text/html; charset=iso-8859-1
[root@node1 ~]# curl -Lk www.a.com
a aa
2.3.2仮想ホストモードを使用していません
confに
DocumentRoot "/var/www/html"
redirect temp / https://www.a.com
テストおよび間違ったレポートを見つけました
[root@node1 ~]# curl www.a.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://www.a.com">here</a>.</p>
</body></html>
[root@node1 ~]# curl -Lk www.a.com
curl: (47) Maximum (50) redirects followed
言い換えるために、リダイレクトしないでください、あなたが解決することができます
DocumentRoot "/var/www/html"
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]
テスト
[root@node1 ~]# curl -I www.a.com
HTTP/1.1 302 Found
Date: Sat, 22 Feb 2020 18:56:55 GMT
Server: Apache
Location: https://www.a.com/
Content-Type: text/html; charset=iso-8859-1
[root@node1 ~]# curl -Lk www.a.com
a aa
二、HSTS:
HTTP厳格なトランスポート・セキュリティ
サーバーの構成がサポートさHSTS後、復帰へのHTTPブラウザでHSTSヘッダフィールドを運ぶでしょう。情報を取得するには、ブラウザは、HTTPSに307ジャンプ内で行われたすべてのHTTPリクエストにアクセスできるようになります。任意のネットワーク・プロセスなし
HSTSの役割:
プロセスがハイジャックされたため、リダイレクトを回避することができます
短所:ハイジャック要求時に最初に回避することはできません。だから、HSTSのプリロード・リストと
HSTSのプリロード・リスト
ChromeはChromeブラウザを使用してアクセスを自動的にHTTPSに変換されます場合は、リスト内のサイトのリストをプリロードブラウザHSTSです。FirefoxやSafariは、エッジブラウザもこのリストを使用しています
HSTS例を実装します。
confに
vim /etc/httpd/conf/httpd.conf
Header always set Strict-Transport-Security "max-age=31536000" RewriteEngine on
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]
検証
[root@node1 ~]# curl -I www.a.com
HTTP/1.1 302 Found
Date: Sat, 22 Feb 2020 19:32:47 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000
Location: https://www.a.com/
Content-Type: text/html; charset=iso-8859-1