Public Access
Сохранить внешний порт и раздавать user/pictures через nginx
nginx слушает 80 внутри контейнера, снаружи публикуется HTTP_PORT. Эгея с E2_SYNTH_URLS собирает абсолютные URL из FastCGI-параметров, поэтому HTTP_HOST и SERVER_PORT берутся из NGINX_EXTERNAL_PORT (тот же HTTP_PORT). Редиректы nginx делаются относительными. Шаблон монтируется из docker/nginx/, а не из несуществующего ./nginx/. Каталог data монтируется в nginx только для чтения, чтобы location статики отдавал pictures и файлы из user. Сервис nginx собирается из того же Dockerfile (target nginx) и ждёт здоровый php-fpm.
This commit is contained in:
1 parent
9ed3f57eb8
commit
857fd0674e
2 files changed
+20
-4
No files matched your search
+12
-2
@@ -82,11 +82,20 @@ services:
|
||||
- backend
|
||||
|
||||
nginx:
|
||||
build:
|
||||
context: .
|
||||
target: nginx
|
||||
args:
|
||||
EGEYA_VERSION: ${EGEYA_VERSION:-4199}
|
||||
EGEYA_URL: ${EGEYA_URL:-}
|
||||
EGEYA_SHA256: ${EGEYA_SHA256:-}
|
||||
|
||||
image: ${EGEYA_NGINX_IMAGE:-local/egeya-nginx}:${EGEYA_VERSION:-4199}
|
||||
restart: unless-stopped
|
||||
|
||||
depends_on:
|
||||
- php
|
||||
php:
|
||||
condition: service_healthy
|
||||
|
||||
environment:
|
||||
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
|
||||
@@ -97,7 +106,8 @@ services:
|
||||
- "${HTTP_BIND:-127.0.0.1}:${HTTP_PORT:-8080}:80"
|
||||
|
||||
volumes:
|
||||
- ./nginx/egeya.conf.template:/etc/nginx/templates/egeya.conf.template:ro
|
||||
- ./data:/var/www/egeya-data:ro
|
||||
- ./docker/nginx/egeya.conf.template:/etc/nginx/templates/egeya.conf.template:ro
|
||||
|
||||
networks:
|
||||
- frontend
|
||||
|
||||
@@ -7,6 +7,9 @@ server {
|
||||
keepalive_timeout 70;
|
||||
client_max_body_size ${NGINX_CLIENT_MAX_BODY_SIZE};
|
||||
|
||||
absolute_redirect off;
|
||||
port_in_redirect off;
|
||||
|
||||
root /var/www/html;
|
||||
index index.php index.html;
|
||||
|
||||
@@ -42,9 +45,12 @@ server {
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
|
||||
fastcgi_param HTTP_HOST $http_host;
|
||||
fastcgi_param HTTP_HOST $host:${NGINX_EXTERNAL_PORT};
|
||||
fastcgi_param SERVER_NAME $host;
|
||||
fastcgi_param SERVER_PORT ${NGINX_EXTERNAL_PORT};
|
||||
fastcgi_param HTTP_X_FORWARDED_HOST $host;
|
||||
fastcgi_param HTTP_X_FORWARDED_PORT ${NGINX_EXTERNAL_PORT};
|
||||
fastcgi_param HTTP_X_FORWARDED_PROTO $scheme;
|
||||
|
||||
fastcgi_param E2_SYNTH_URLS true;
|
||||
|
||||
@@ -59,4 +65,4 @@ server {
|
||||
location ~ \.psa$ {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user