У меня есть контейнер обратного прокси nginx, а также nginx и php-fpm. У меня нет проблем с обслуживанием файлов .html, но когда я пытаюсь перейти к .php, я получаю сообщение об ошибке 404 Not Found.
Это docker-compose.yml обратного прокси-сервера nginx:
version: "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
container_name: nginx-proxy
ports:
- "8080:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./vhost.d:/etc/nginx/vhost.d
networks:
default:
external:
name: nginx-proxy-net
Это docker-compose.yml моего сайта:
version: "2"
services:
nginx:
image: nginx:latest
expose:
- 80
restart: always
volumes:
- ./html:/usr/share/nginx/html
environment:
- VIRTUAL_HOST=vhost.example.it
container_name: vhost-html
php:
image: php:7-fpm
expose:
- 9000
restart: always
volumes:
- ./html:/usr/share/nginx/html
environment:
- VIRTUAL_PROTO=fastcgi
- VIRTUAL_ROOT=/usr/share/nginx/html
- VIRTUAL_PORT=9000
- VIRTUAL_HOST=vhost-php.local
container_name: vhost-php
networks:
default:
external:
name: nginx-proxy-net
Также я создал конфигурационный файл per-VIRTUAL_HOST в папке vhost.d:
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass vhost-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
У вас есть идеи, как исправить эту ошибку?