Eu quero usar o nginx como um proxy reverso para vários aplicativos (no docker). Eles existem em diretórios separados no contêiner nginx: /var/www/app1
, /var/www/app2
, etc.
Meu default.conf
:
resolver 127.0.0.11 valid=15s;
server {
listen 80;
server_name www.example.com example.com;
set $upstream phpmyadmin:9000;
location ^~ /phpmyadmin {
#alias /var/www/html/; # <----- this works
alias /var/www/phpmyadmin/;
index index.php;
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass $upstream;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
}
Se eu montar o aplicativo docker (phpmyadmin) /var/www/html/
, a configuração nginx acima funcionará.
Mas o que eu realmente quero é montá-lo em /var/www/phpmyadmin/
. Quando faço isso, recebo erros:
FastCGI enviado em stderr: "Script primário desconhecido" ao ler o cabeçalho de resposta do upstream
Tirar prefixo de
$fastcgi_script_name
:Então use: