2017-06-20 63 views
0

我有以下設置:如何永久禁用瀏覽器HSTS的子域

應用https://app.domain.de是我們的生產環境和自動轉發到使用HTTPS。所有的工作都很好。最重要的是,我們的QA團隊可以通過http://develop.app.domain.de訪問該應用程序的幾個開發版本(此處不需要HTTPS)。

問題從這裏開始:只要我訪問https://app.domain.de鉻(我猜還有其他瀏覽器)也轉發http://develop.app.domain.de(無HTTPS)也https://develop.app.domain.de(HTTPS)。我當然可以禁用HSTS並清除該域的緩存,並且http://develop.app.domain.de將再次運行,但直到我再次訪問https://app.domain.de

我們無法爲我們的開發環境啓用HTTPS,因爲您需要在Heroku中至少有一個Hobby計劃才能這樣做,因此會浪費我們所有開發和測試版本的應用程序。我也想保持url模式。

所以我的問題是我怎樣才能永久禁用這個討厭的轉發(HSTS)?

回答

2

在主域上,您可以刪除HSTS標頭的includesubdomains選項,因此它不會重定向子域。

但是,這不是最安全的解決方案。爲了有效,最好在所有的域名和子域名上設置HSTS + includesubdomains(或者攻擊者假冒域名爲「http://secure.yourdomain.com」的域名)。

因此,最安全的解決方案是爲您的開發域使用自簽名證書(或真實證書),並在瀏覽器中導入它。

+1

感謝本地使用自簽名證書似乎是解決問題的好方法。 – chillyistkult

2

HSTS不是「討厭」 - 這是一項安全功能。還有一個是你的域名自願選擇激活的!

您可以從生產中移除includeSubDomains選項,因此它僅適用於頂級域名而不適用於子域名,前提是您尚未提交它以便預加載到Web瀏覽器中(請告訴我,如果未完全理解內容,這需要! - 你可以通過運行你的主域通過SSL Labs testing tool)來檢查。

然而,世界正在向各地的HTTPS發展,您的開發環境不反映生產。某些功能(HTTP/2,地理位置等)僅在使用HTTPS和this list is growing時纔有效。另外,根據您開發和參考資源的方式,您可能會在開始部署到生產環境時看到混合內容警告或缺少內容。所以在我看來,您需要DO需要在您的開發/ QA環境中使用HTTPS。雖然我不瞭解您的平臺,但您真的更好地瞭解如何在開發環境中設置HTTPS,而不是試圖解決這個問題。自簽名證書可以免費創建,並且可以在您的測試環境中信任,從而使它們與真實證書無法區分,以供選定數量的用戶使用。

0

您可以在谷歌瀏覽器警告頁面的任何位置鍵入'badidea',它會在沒有警告的情況下加載它。不是開玩笑。

+0

你有沒有可以測試的地方?我不想破壞我的一個域名... –

+1

Chrome更新65將單詞更改爲「thisisunsafe」 – Anssi