请帮我解决问题,Nginx 总是为主目录返回 404。
因此这里 sites-available/dev.vshvetsov.ru 配置%
server {
listen 80;
server_name dev.vshvetsov.ru;
location / {
proxy_pass http://127.0.0.1:8001;
access_log /var/log/nginx/dev.vshvetsov.ru-access.log;
}
location ~* ^.+\.(css|js|png|gif|jp[e]?g|swf|svg|woff|eot|ttf|cur|map|txt|pdf)$ {
root /vault/development/dev.vshvetsov.ru/htdocs;
#access_log off;
expires 30d;
}
}
所以我已经做了:
- 为我的 IP 建立了 A 记录,并且有效
- 引用了 ln -s 到 sites-enabled/
- 创建根目录
- 重新启动并重新加载 NGINX
- 尝试添加根路径/to/htdocs;并在位置/{} 设置中添加索引 index.html;
- 设置htdocs访问模式递归777
当我尝试打开 dev.vshvetsov.ru 时,我看到了 404。但如果我尝试打开 dev.vshvetsov.ru/data/ingredients/1.txt,我就会得到文件内容
以下是我的错误的 access.log 记录
109.188.124.16 - - [02/Sep/2016:18:54:32 +0300] "GET / HTTP/1.1" 404 345 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7"
谢谢大家和我一起尝试解决这个问题!
此致
答案1
您将所有请求通过 传递到您的 Web 应用程序服务器proxy_pass
,然后该服务器将返回 404 页面。由于此配置,Nginx 本身不会在您的文件系统中查找任何文件。