nginx配置实战

静态网站 root 与 alias 的区别

配置如下2个location

location ^~ /tea/ {
    root /data/html;
}

location ^~ /sta/ {
    alias /data/static;
}
  • 访问 http://test.com/tea/tea1.html >> /data/html/tea/tea1.html
  • 访问 http://test.com/sta/sta1.html >> /data/static/sta1.html

两者的区别

  • root 实际访问文件路径会拼接 root + location
  • alias 实际访问文件路径不会拼接location中的路径

二级目录

server {
    listen 80;
    server_name 192.168.0.4;
    location / {
        proxy_pass http://192.168.0.16:8089;
    }
}
server {
    listen 80;
    server_name 192.168.0.4;
    location /yun/ {
        proxy_pass http://192.168.0.16:8089/;
    }
}

反向代理与重定向

upstream smart{
    server 192.168.0.58:8998
}

server {
    listen 80;
    server_name www.domain1.com;
    location / {
        proxy_pass http://smart;
    }
}
  • 场景4:全站反向代理,比如将自己的域名跳转到别人的接口(用于展示,不希望域名发生跳转)
server {
    listen 80;
    server_name www.domain1.com;
    location ^~ / {
        proxy_pass http://www.domain2.com;
    }
}
  • 场景5:301永久重定向(permanent),全站跳转到新域名(保留完整路径,老域名会跳转到新域名)
#.方法1
server {
    listen 80;
    server_name www.domain1.com;
    rewrite ^/(.*)$ http://www.domain2.com/$1 permanent;
}

#.方法2
server {
    listen 80;
    server_name www.domain1.com;
    return 301 http://www.domain2.com$request_uri;
}
  • 场景6:302临时重定向(redirect),全站跳转到新域名
server {
    listen 80;
    server_name www.domain1.com;
    rewrite ^/(.*)$ http://www.domain2.com/$1 redirect;
}

漏扫出现的响应头缺失

  • 针对漏扫出现下9个响应头缺失的问题:
1.检测到目标 Content-Security-Policy 响应头缺失
2.检测到目标 Referrer-Policy 响应头缺失
3.检测到目标 Strict-Transport-Security 响应头缺失
4.检测到目标 X-Content-Type-Options 响应头缺失
5.检测到目标 X-Download-Options 响应头缺失
6.点击劫持 X-Frame-Options 未配置
7.检测到目标 X-Permitted-Cross-Domain-Policies 响应头缺失
8.检测到目标 X-XSS-Protection 响应头缺失
9.检测到目标 X-Robots-Tag 响应头缺失
  • 建议在 http{} 中添加如下配置:
http {
    add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'" always;
    add_header Referrer-Policy "same-origin" always;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Download-Options "noopen" always;
    add_header X-Frame-Options "sameorigin" always;
    add_header X-Permitted-Cross-Domain-Policies  "none" always;                                          
    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Robots-Tag "none" always;

    proxy_hide_header  X-Powered-By;
    fastcgi_hide_header X-Powered-By;
}
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2026-09-04 17:02:44

results matching ""

    No results matching ""