我正在使用docker compose来升级容器,运行正常,但当我尝试到http://localhost:8080/
时,我得到了以下错误:
2023/07/18 07:22:07 [错误] 12#12:*6禁止“/var/www/html/”目录索引,客户端:172.31.0.1,服务器:_,请求:“GET / HTTP/1.1”,主机:“localhost:8080”172.31.0.1 - - [18/Jul/2023:07:22:07 +0000]“GET / HTTP/1.1”403 196“-”“Mozilla/5.0(X11; Linux x86_64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/114.0.0.0 Safari/537.36”
下面是我的nginx
配置文件:phirater.test.conf
个
server {
listen 80;
server_name phirater.test;
root /var/www/html/public;
index index.php index.htm index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
access_log /var/log/nginx/phirater.test-access.log;
error_log /var/log/nginx/phirater.test-error.log error;
error_page 404 /index.php;
client_max_body_size 100m;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
字符串
当我尝试点击以下内容时:http://localhost:8080/composer.json
显示文件的内容,但http://localhost:8080
返回上面提到的错误。我做错了什么?
容器内的用户许可如下:
-rwxr-xr-x 1 1000 1000 1369 Jul 13 12:46 Dockerfile*
drwxr-xr-x 13 1000 1000 4096 Nov 16 2022 app/
-rwxr-xr-x 1 1000 1000 1635 Nov 16 2022 artisan*
-rw-rw-rw- 1 1000 1000 1321 Jul 13 12:45 bitbucket-pipelines.yml
drwxr-xr-x 3 1000 1000 4096 Nov 16 2022 bootstrap/
-rw-r--r-- 1 1000 1000 1419 Nov 16 2022 bower.json
-rw-r--r-- 1 1000 1000 3393 Jun 14 05:19 composer.json
-rw-r--r-- 1 1000 1000 410926 Jul 10 10:34 composer.lock
drwxr-xr-x 2 1000 1000 4096 Jul 13 12:45 config/
drwxr-xr-x 4 1000 1000 4096 Nov 16 2022 database/
drwxr-xr-x 3 1000 1000 4096 Jul 5 02:24 docker-compose/
-rw-rw-rw- 1 1000 1000 4114 Jul 13 12:45 gulpfile.js
drwxr-xr-x 377 1000 1000 16384 Jun 8 09:26 node_modules/
-rw-r--r-- 1 1000 1000 394 Jun 14 05:05 package.json
-rw-r--r-- 1 1000 1000 724 Jul 18 06:42 phirater.test.conf
-rw-r--r-- 1 1000 1000 5480 Jul 13 12:45 php-fpm.conf
-rw-r--r-- 1 1000 1000 97 Nov 16 2022 phpspec.yml
lrwxrwxrwx 1 1000 1000 18 Jun 13 06:31 phpunit -> vendor/bin/phpunit*
-rw-r--r-- 1 1000 1000 1860 Jun 14 05:05 phpunit.xml
drwxr-xr-x 8 1000 1000 4096 Nov 16 2022 public/
drwxr-xr-x 5 1000 1000 4096 Nov 16 2022 resources/
-rw-r--r-- 1 1000 1000 560 Nov 16 2022 server.php
-rw-r--r-- 1 1000 1000 332 Jul 13 07:00 start-container.sh
drwxr-xr-x 8 1000 1000 4096 Jul 13 10:01 storage/
-rw-r--r-- 1 1000 1000 308 Jul 11 11:43 supervisord.conf
drwxr-xr-x 7 1000 1000 4096 Jul 13 12:45 tests/
drwxr-xr-x 81 1000 1000 4096 Jul 5 05:22 vendor/
型
我在SO上尝试了各种类似的问题的解决方案,但没有一个工作。
1条答案
按热度按时间k10s72fa1#
您使用的是一个命名的主机,所以您需要请求的URL来匹配,即
http://phirater.test:8080/
。处理
http://localhost:8080/
请求的服务器是默认服务器,这就是为什么错误提到/var/www/html
而不是/var/www/html/public
。你可以通过编辑hosts file来使用你的命名主机,但我建议你这样做,因为你不太可能运行nginx和多个命名租户,简单地覆盖default配置。
字符串