httpdのリダイレクト

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
公開された62元の記事 ウォン称賛7 ビュー1268

おすすめ

転載: blog.csdn.net/qq_36801585/article/details/104452239