您的位置:首页 > 理论基础 > 计算机网络

nginx http跳转到https

2020-07-14 06:17 155 查看

最近需要将nginx的http全部跳转到https,具体代码如下:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https:// $ host $ request_uri ;
}
重定向响应与HTTP状态代码301一起发送,该状态代码301告诉浏览器(和搜索引擎)这是永久重定向。这使浏览器记住重定向,以便下次访问时,浏览器将在内部进行重定向。如果您设置了HSTS标头 - 您应该这样做 - 浏览器甚至会针对您的域的每个请求执行此操作。

请注意,上面是一个非常通用的Nginx配置,它将重定向服务器上的所有主机名。您可以自由指定要重定向的特定主机名。另外:如果你有点偏执 - 这在网络安全方面不是坏事 - 你会注意到它正在使用Nginx $host变量。此变量可以由HTTP Host头设置 - 由客户端提供。以这种方式使用它很可能是安全的,但作为一个原则,最好通过使用我们自己设置的变量来安全地使用它:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com www.example.com;
return 301 https:// $ server_name $ request_uri ;
}
我们必须使用$request_uri变量 - 我们几乎无法控制。要删除恶意请求URI,您应该考虑获取WAF(Web应用程序防火墙)。

参考资料:Nginx 配置 HTTPS 服务器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: