Ssl
來自 S3 源的 Amazon CloudFront 上的 HSTS
是否可以從 S3 源在 Amazon CloudFront 分配上設置 HSTS 標頭?
目前不可能,有關它的討論,請參閱https://forums.aws.amazon.com/thread.jspa?threadID=162252。
編輯:Lambda@Edge 使之成為可能,見下文。
關於此的更新…
現在可以通過 Lambda@edge 函式自定義 HTTP 響應標頭。有關文件,請參閱http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html。要嘗試此操作,請在 AWS 控制台中創建一個新的 lambda 函式。為語言選擇“Edge Nodge.js 4.3”並查找 cloudfront-modify-response-header 模板。如果您這樣做,Lambda 將詢問您要將函式應用到哪個 CloudFront 分配和事件。請注意,您可以隨時通過轉到 Cloudfront 行為選項卡來編輯或更改此設置。
這是一個範例 lambda 函式…
'use strict'; exports.handler = (event, context, callback) => { const response = event.Records[0].cf.response; response.headers['Strict-Transport-Security'] = 'max-age=2592000; includeSubDomains'; callback(null, response); };