You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下Nginx配置location /site出现403错误的解决方法

解决Nginx配置/site出现403 Forbidden的问题

核心原因

当你配置location /site并设置root /var/www/html时,Nginx会尝试访问**/var/www/html/site**目录下的索引文件。如果这个目录不存在、目录/文件权限不符合要求,或者目标目录内没有指定的索引文件,就会返回403错误。

具体解决步骤

1. 确认目标目录存在

先检查/var/www/html/site目录是否存在,执行命令:

ls -ld /var/www/html/site

如果目录不存在,创建该目录:

sudo mkdir -p /var/www/html/site

同时将测试用的索引文件复制到这个目录中:

sudo cp /var/www/html/index.html /var/www/html/site/

2. 修复目录与文件权限

Ubuntu系统中Nginx的运行用户通常为www-data,需要确保目标目录和文件对该用户拥有读取权限:

sudo chown -R www-data:www-data /var/www/html/site
sudo chmod -R 755 /var/www/html/site

3. 调整Nginx配置(可选,用alias替代root)

如果你的站点文件实际存放在/var/www/html下,不想单独创建site目录,可以使用alias指令替代root,配置示例如下:

location /site {
    alias /var/www/html;
    index index.html index.htm index.nginx-debian.html;
}

注意:如果配置的是location /site/(带尾斜杠),alias也要对应添加尾斜杠:

location /site/ {
    alias /var/www/html/;
    index index.html index.htm index.nginx-debian.html;
}

4. 验证配置并重启Nginx

每次修改配置后,先验证配置语法是否合法:

sudo nginx -t

如果输出提示test is successful,重启Nginx使配置生效:

sudo systemctl restart nginx

内容的提问来源于stack exchange,提问作者lewis machilika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:45:49