Nginx 如何设置 Upgrade-Insecure-Requests 报头 ?
Upgrade-Insecure-Requests 报头是一种 web 浏览器向服务器发出信号的机制,它倾向于接收安全 (HTTPS) 资源。添加此报头有助于在受支持的浏览器上将不安全的请求升级为安全的请求。
Step 1: 定位 Nginx 配置
- 主 nginx 配置文件通常位于 /etc/nginx/nginx.conf
- 特定于站点的配置通常在 /etc/nginx/sites-available/
Step 2: 编辑 Nginx 配置
编辑配置文件
sudo nano /etc/nginx/nginx.conf
Step 3: 添加报头
在 server {} 块中,添加以下行
add_header Upgrade-Insecure-Requests 1;
这一行指示 Nginx 为每个响应添加值为 1 的 Upgrade-Insecure-Requests 报头,一个 nginx 示例配置文件可能如下所示:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;
index index.html;
# Add the Upgrade-Insecure-Requests header
add_header Upgrade-Insecure-Requests 1;
location / {
try_files $uri $uri/ =404;
}
# Additional configuration settings like error pages or logging can be added here
# For example, error logs specific to this server block:
# error_log /var/log/nginx/example.com_error.log;
# access_log /var/log/nginx/example.com_access.log;
}
Step 4: 检查 Nginx 配置
在重新启动 Nginx 之前,检查语法错误是一个好习惯。
sudo nginx -t
Step 5: 加载 Nginx 配置
如果配置测试成功,重新加载 Nginx 以应用更改。
sudo systemctl reload nginx
该命令将在不停止服务器的情况下重新加载配置。
Step 6: 验证报头
使用诸如浏览器的开发人员工具或 curl 之类的工具来检查响应头。对于curl ,使用如下:
curl -I http://yourwebsite.com
在响应中查找 Upgrade-Insecure-Requests: 1 报头。
注意事项
(1) 如果您的网站是通过 HTTPS 提供服务的,并且您希望确保来自客户端的所有请求都升级为安全请求,则此设置主要是有益的。
(2) 要小心 nginx. conf 文件中的全局变化,因为它们会影响 Nginx 服务的所有站点。
我的开源项目
- course-tencent-cloud(酷瓜云课堂 - gitee仓库)
- course-tencent-cloud(酷瓜云课堂 - github仓库)