æç« ç®å½
-
-
- httpd éå®å
-
- ä¸ãéå®å
-
- 1.1 æ ¼å¼ï¼
- 2.2 åæ°
- 2.3 ä¾ï¼
-
- 2.3.1 æ¹æ³ä¸
- 2.3.2 ä¸ä½¿ç¨èæä¸»æºçæ¹å¼
- äºãHSTS:
-
- HTTP Strict Transport Security
- HSTSçä½ç¨ :
- HSTS preload list
- å®ç°HSTS示ä¾ï¼
-
httpd éå®å
ä¸ãéå®å
1.1 æ ¼å¼ï¼
Redirect [status] URL-path URL
2.2 åæ°
statusç¶æï¼
- Permanentï¼ è¿åæ°¸ä¹ éå®åç¶æç 301
- Tempï¼è¿å临æ¶éå®åç¶æç 302. æ¤ä¸ºé»è®¤å¼
2.3 ä¾ï¼
å½è®¿é® http://www.a.com 跳转å°https://www.a.com
ç¯å¢ï¼å®ç°httpsç访é®ï¼çä¸èï¼
2.3.1 æ¹æ³ä¸
éè¿èæä¸»æºçæ¹å¼
<virtualhost *:80>
documentroot /data/asite
servername www.a.com
<Directory "/data/asite">
Require all granted
</Directory>
redirect temp / https://www.a.com
</virtualhost>
æµè¯ï¼
[[email protected] ~]# 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
[[email protected] ~]# curl -Lk www.a.com
a aa
2.3.2 ä¸ä½¿ç¨èæä¸»æºçæ¹å¼
conf
DocumentRoot "/var/www/html"
redirect temp / https://www.a.com
æµè¯ ï¼åç°æ¥éäº
[[email protected] ~]# 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>
[[email protected] ~]# curl -Lk www.a.com
curl: (47) Maximum (50) redirects followed
ä¸ç¨ redirect , æ¢ç§æ¹å¼ï¼åå¯ä»¥è§£å³
DocumentRoot "/var/www/html"
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]
æµè¯
[[email protected] ~]# 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
[[email protected] ~]# curl -Lk www.a.com
a aa
äºãHSTS:
HTTP Strict Transport Security
â æå¡å¨ç«¯é ç½®æ¯æHSTSåï¼ä¼å¨ç»æµè§å¨è¿åçHTTPé¦é¨ä¸æºå¸¦HSTSåæ®µã æµè§å¨è·åå°è¯¥ä¿¡æ¯åï¼ä¼å°ææHTTP访é®è¯·æ±å¨å é¨å307跳转å°HTTPSã èæ éä»»ä½ç½ç»è¿ç¨
HSTSçä½ç¨ :
å¯ä»¥é¿å å 为éå®åçè¿ç¨ä¸è¢«å«æ
缺ç¹ï¼æ æ³é¿å ç¬¬ä¸æ¬¡è¯·æ±çè¿ç¨ä¸è¢«å«æãæä»¥æäºHSTS preload list
HSTS preload list
â æ¯Chromeæµè§å¨ä¸çHSTSé¢è½½å ¥å表ï¼å¨è¯¥å表ä¸çç½ç«ï¼ä½¿ç¨Chromeæµ è§å¨è®¿é®æ¶ï¼ä¼èªå¨è½¬æ¢æHTTPSãFirefoxãSafariãEdgeæµè§å¨ä¹ä¼éç¨è¿ 个å表
å®ç°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]
éªè¯
[[email protected] ~]# 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