Nginx静态文件路径配置

root目录与alias目录的区别

Nginx路径location配置中,使用root目录与alias目录的区别


    1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
    2)root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;

举例说明


    比如静态资源文件在服务器/var/www/static/目录下

    1)配置alias目录


    location /static/ {
        alias  /var/www/static/;
    }

    注意:alias指定的目录后面必须要加上"/",即/var/www/static/不能改成/var/www/static
    
    访问http://IP:PORT/static/index.html时,实际访问的是/var/www/static/index.html
    

    2)也可改成配置root目录


    location /static/ {
        root  /var/www/;
    }

    注意:location中指定的/static/必须是在root指定的/var/www/目录中真实存在的。
      
    两者配置后的访问效果是一样的。 

配置习惯  

  
    一般情况下,在nginx配置中的良好习惯是:
    1)在location / 中配置root目录
    2)在location /somepath/ 中配置alias虚拟目录
    

配置默认主页


    比如访问 http://IP:PORT/,默认访问服务器/var/www/static/目录下的index.html
    

    1)配置alias目录方式

    
    location / {
        alias  /var/www/static/;
        index  index.html index.htm;
    }
    

    2)配置root目录方式

    
    location / {
        root  /var/www/static/;
        index  index.html index.htm;

    }


Nginx配置静态文件过滤规则,可以通过设置 location 块来实现对特定文件类型或路径的访问控制。以下是一些常见的配置方式: ### 配置静态文件访问限制 1. **限制特定文件类型的访问** 可以通过 `location` 匹配特定后缀的文件,并使用 `deny` 或 `allow` 控制访问权限。例如,禁止访问 `.log` 和 `.bak` 文件: ```nginx location ~ \.(log|bak)$ { deny all; } ``` 2. **限制目录下的静态文件访问** 如果需要限制某个目录(如 `/static/private/`)中的文件访问,可以配置如下: ```nginx location /static/private/ { deny all; } ``` 3. **基于 IP 的访问控制** 可以结合 `allow` 和 `deny` 指令,实现基于客户端 IP 的访问控制。例如,仅允许来自 `192.168.1.0/24` 网络的访问: ```nginx location /static/restricted/ { allow 192.168.1.0/24; deny all; } ``` 4. **防止目录浏览** 默认情况下,Nginx 不会列出目录内容,但如果启用了 `autoindex on;`,可以通过关闭此选项来避免暴露文件列表: ```nginx location /static/ { autoindex off; } ``` 5. **设置缓存控制和安全头** 可以结合安全头配置,增强静态资源的安全性。例如,添加 `Cache-Control` 和 `Content-Security-Policy`: ```nginx location ~ \.(js|css|png|jpg|gif)$ { add_header Cache-Control "public, max-age=31536000"; add_header Content-Security-Policy "default-src 'self'"; } ``` 6. **URL 路径重写与过滤** 如果需要将某些请求重定向到其他路径,或者完全拒绝访问,可以使用 `rewrite` 或 `return` 指令: ```nginx location /old-static/ { rewrite ^/old-static/(.*)$ /new-static/$1 permanent; } location /forbidden/ { return 403; } ``` ### 安全加固建议 - 结合引用 [^3] 提到的安全头配置,可以进一步增强静态资源服务的安全性。 - 使用引用 [^4] 所述的静态站点配置思路,确保静态资源路径正确映射,并避免暴露服务器版本号等敏感信息。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值