aks*_*aks 2 nginx web-hosting proxypass host-headers
请帮助我防止给定的“ Nginx 配置文件”中的“主机头注入漏洞”
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://IP_1/;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
add_header Cache-Control "no-cache";
}
location /kuphubadmin/ {
proxy_pass http://IP_2/;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
add_header Cache-Control "no-cache";
}}
Run Code Online (Sandbox Code Playgroud)
注:以上服务器用作代理服务器。
“主机标头注入漏洞”意味着您的服务器正在接受任何主机标头,即使它不是您网站的有效主机名。在您的情况下,您已经配置了一个包罗万象的server块来响应任何主机名并将所有此类请求发送到您的 Web 应用程序。
这在 nginx 中很容易修复。
首先,您需要保留servernginx 附带的默认块。不要以任何方式改变它。这将捕获具有无效主机标头的请求,并仅向它们发送无害的“Web 服务器正在工作”文档或 403 禁止错误,或两者兼而有之。
其次,您只需在server_name自定义server块的指令中指定站点的有效主机名。不要使用_. 例如server_name example.com www.example.com;
| 归档时间: |
|
| 查看次数: |
11745 次 |
| 最近记录: |