我想使用 nginx 作为多个应用程序的反向代理(在 docker 中)。它们存在于 nginx 容器中的不同目录中:/var/www/app1
、/var/www/app2
等。
我的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;
}
}
}
如果我安装了 docker 应用程序(phpmyadmin),/var/www/html/
那么上面的 nginx 配置就可以工作了。
但我真正想要的是将它安装在/var/www/phpmyadmin/
. 当我这样做时,我会收到错误:
从上游读取响应标头时在标准错误中发送的 FastCGI:“主脚本未知”
去除前缀
$fastcgi_script_name
:然后使用它: