关闭 Nginx 中的非 HTTPS 连接

关闭 Nginx 中的非 HTTPS 连接

我使用基本身份验证,用户在标头中发送用户名和密码。出于安全考虑,这些请求将通过 HTTPS 完成(因为否则密码将以纯文本形式发送)。如果用户意外通过 HTTP 发出请求,在 nginx 中是否有办法在他们发送授权标头之前关闭连接?我担心如果我只是将他们重定向到 HTTPS,他们的密码在第一个请求中仍将以纯文本形式发送。

答案1

这是什么严格的运输安全是为了。

在适当的块中添加server

add_header Strict-Transport-Security max-age=315360000;

这将指示网络浏览器,一旦它们至少访问过您的网站一次,就不再尝试在未使用 HTTPS 的情况下再次访问它(在指定的秒数内max-age)。

您指定的时间max-age至少应与您向用户提供的任何 cookie 的持续时间一样长。

请注意,您只能在 HTTPS 响应中提供此标头,并且要完成循环,您应该将任何 HTTP 请求重定向到等效的 HTTPS URL

相关内容