nginx http跳转到https
最近需要将nginx的http全部跳转到https,具体代码如下:server {listen80 default_server;listen [::]:80 default_server;server_name _;return301 https:// $ host $ request_uri ;}重定向响应与HTTP状态代码301一起发送,该状态代码301告诉浏览器(和搜...
最近需要将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 服务器
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)