directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

HTTP Content-Security-Policy(CSP)upgrade-insecure-requests指令指示用户代理将所有站点的不安全URL(通过HTTP提供的URL)视为已被替换为安全URL(通过HTTPS提供的URL)。此指令适用于需要重写大量不安全的旧版URL的网站。

upgrade-insecure-requests指令在之前被评估block-all-mixed-content,如果被设置,后者实际上是没有操作的。建议设置一个指令或另一个指令,但不能同时设置。

upgrade-insecure-requests指令不会确保通过第三方网站上的链接访问您的网站的用户将升级到顶级导航的HTTPS,因此不会替代Strict-Transport-Security(HSTS)标头,该标头仍应设置适当的标头max-age以确保用户不会受到SSL剥离攻击。

句法

Content-Security-Policy: upgrade-insecure-requests;

示例

// headerContent-Security-Policy: upgrade-insecure-requests;// meta tag<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

通过将上述标头设置在域example.com上并希望从HTTP迁移到HTTPS,非导航不安全资源请求会自动升级(第一方以及第三方请求)。

<img src="http://example.com/image.png"><img src="http://not-example.com/image.png">

这些 URL 将在请求发生之前被重写,这意味着没有不安全的请求会触及网络。请注意,如果请求的资源通过 HTTPS 实际上不可用,则该请求将失败,而不会返回到 HTTP。

<img src="https://example.com/image.png"><img src="https://not-example.com/image.png">

导航升级到第三方资源会带来更高的破损潜力,但这些升级并不会升级:

<a href="https://example.com/">Home</a><a href="http://not-example.com/">Home</a>

发现不安全的请求

借助Content-Security-Policy-Report-Only标题和report-uri指令,您可以设置强制策略和报告策略,如下所示:

Content-Security-Policy: upgrade-insecure-requests; default-src https: Content-Security-Policy-Report-Only: default-src https:; report-uri /endpoint

这样,您仍会在安全网站上升级不安全的请求,但唯一的监控策略被违反并向您的端点报告不安全的资源。

规范

规范

状态

评论

升级不安全的请求在该规范中定义了“ upgrade-insecure-requests ”。

候选推荐

初始定义。

浏览器兼容性

特征

Chrome

Firefox

Edge

Internet Explorer

Opera

Safari

基本支持

43

42.0

(No)1

(No)

30

(No)

特征

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

基本支持

?

43

(No)

42.0

(No)

?

(No)

Previous article: Next article: