docker - “/var/www/html”的目录索引被禁止 docker/nginx 403 错误
问题描述
我想我已经在 docker-compose.yml 中构建的 nginx 配置中正确设置了所有内容。但是,从跟踪 nginx 日志中可以看出
*1 directory index of "/var/www/html/" is forbidden
这会导致 403 禁止页面。我想我已经正确设置了 www-data 用户的权限,但可能没有。
目录结构:
src/
- docker-compose.yml
- .gitignore
backend
src
- Dockerfile
- package.json
- .gitignore
data
nginx
- nginx.conf
frontend
src
- Dockerfile
- package.json
- .gitignore
码头工人撰写:
#docker-compose.yml
version: '3'
services:
frontend:
build: ./frontend
volumes:
- ./data/nginx/:/etc/nginx/conf.d
ports:
- 8080:80
depends_on:
- backend
backend:
build: ./backend
ports:
- 3000:3000
depends_on:
- db
db:
image: postgres:latest
restart: always
environment:
POSTGRES_USER: example
POSTGRES_PASSWORD: example1234
POSTGRES_DB: example
ports:
- 5432:5432
nginx.conf:
server {
listen 80;
server_name example;
location / {
root /var/www/html/;
index index.html;
autoindex on;
}
location /frontend {
proxy_pass http://example:8080;
try_files $uri /public/index.html;
}
location /backend {
proxy_pass http://example:3000;
}
location /db {
proxy_pass http://example:5432;
}
}
任何帮助表示赞赏,谢谢。
权限更新:
ls -l /var/www/
total 4
drwxrwxr-x 6 root www-data 4096 Feb 15 15:44 html
ls -l /var/www/html/
total 200
drwxrwxrwx 3 root www-data 4096 Feb 15 15:44 backend
drwxrwxrwx 3 root www-data 4096 Feb 15 14:25 data
-rw-rw-r-- 1 root www-data 736 Feb 15 15:44 docker-compose.yml
drwxrwxrwx 6 root www-data 4096 Feb 15 15:44 frontend
-rw-rw-r-- 1 root www-data 186352 Feb 15 15:44 package-lock.json
更新:通过正确指向 /frontend/public/index.html 中的 index.html 文件来修复 403 错误。但是,应用程序部署到服务器时仍然存在错误。
解决方案
推荐阅读
- javascript - 使用 Vanilla Javascript 显示大图的代码
- c# - 带有 Blazor InputFile 组件的“无法读取属性 '_blazorFilesById' 的空错误”
- java - 并行调用列表
异步网络服务客户端 - python - 您可以在类定义中使类属性成为该类的特定实例吗?
- python - 如何防止错误处理程序多次激活?
- arrays - 我是否正确嵌套数组?
- azure - 搬迁到波兰后用波兰信用卡支付美国创建的 Azure 帐户
- javascript - GET strips 查询参数的表单提交
- python - 生成长度为 n 的唯一字符串,无需预填充字典
- reactjs - 如何在本机反应中设置默认选中的单选按钮?