【发布时间】:2013-10-17 14:21:58
【问题描述】:
我有 3 个域名,我正在尝试使用 Nginx 在一台服务器(Digital Ocean droplet)上托管所有 3 个站点。
mysite1.name mysite2.name mysite3.name
其中只有 1 个有效。其他两个导致 403 错误(以相同的方式)。
在我的 nginx 错误日志中,我看到:[error] 13108#0: *1 directory index of "/usr/share/nginx/mysite2.name/live/" is forbidden。
我启用站点的配置是:
server {
server_name www.mysite2.name;
return 301 $scheme://mysite2.name$request_uri;
}
server {
server_name mysite2.name;
root /usr/share/nginx/mysite2.name/live/;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.html index.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
所有 3 个站点都有几乎相同的配置文件。
每个站点的文件都位于 /usr/share/nginx/mysite1.name/someFolder 等文件夹中,然后 /usr/share/nginx/mysite1.name/live 是指向该文件夹的符号链接。 (mysite2 和 mysite3 相同。)
我查看了Nginx 403 forbidden for all files,但这并没有帮助。
有什么想法可能是错的吗?
【问题讨论】:
-
我认为您有
index.htmlindex.php文件丢失,您确定它们存在于该文件夹中吗? -
哦,你是对的;两个不工作的站点是一个 Laravel 项目(在 /public 子文件夹中有 index.php)和一个旧的 CodeIgniter 项目(在 /public_web 子文件夹中有 index.php)。但我不确定如何更改我的配置以使网站正常运行。
-
就像@MohammadAbuShady 说的,我的文件夹中没有索引文件,所以出现了这个错误。
-
我又遇到了这个错误,但这次的问题是我不小心将
root设置为/Users/myUsername/code/app而不是/Users/myUsername/code/app/public。 -
这是服务器管理员大放异彩的时候。详情
标签: configuration nginx http-status-code-403 domain-name