Docker、nginx、phpmyadmin 授权期间重定向错误
Posted
技术标签:
【中文标题】Docker、nginx、phpmyadmin 授权期间重定向错误【英文标题】:Docker, nginx, phpmyadmin bad redirect during authorization 【发布时间】:2020-07-20 08:50:00 【问题描述】:输入登录名和密码时,它会将我扔到根域:
www.example.com/phpmyadmin -> www.example.com/index.php
我需要:
www.example.com/phpmyadmin -> www.example.com/phpmyadmin/index.php
我的 nginx.conf:
resolver 127.0.0.11 valid=15s;
server
listen 80;
server_name localhost;
set $upstream phpmyadmin:9000;
location ^~ /phpmyadmin
alias /var/www/phpmyadmin/;
index index.php;
location ~ \.php$
try_files $uri = 404;
include fastcgi_params;
fastcgi_split_path_info ^\/phpmyadmin\/(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
fastcgi_pass $upstream;
docker-compose.yml:
phpmyadmin:
container_name: phpmyadmin
depends_on:
- mysql
image: phpmyadmin/phpmyadmin:fpm-alpine
environment:
- PMA_HOST=mysql
- MYSQL_ROOT_PASSWORD=somepass
volumes:
- phpmyadmin:/var/www/html
networks:
- web
webserver:
image: nginx:1.16.1-alpine
container_name: webserver
depends_on:
- phpmyadmin
ports:
- "80:80"
- "443:443"
volumes:
- phpmyadmin:/var/www/phpmyadmin
- ./nginx-conf:/etc/nginx/conf.d
networks:
- web
我在互联网上搜索了很多。这个问题出现在许多人中,许多人只是拒绝在子域上使用 phpmyadmin。或许终于有办法了?
【问题讨论】:
【参考方案1】:在你挂载的 phpmyadmin 目录中,你应该有它的配置文件,包括 config.inc.php。 我通过在该文件末尾添加以下代码解决了这个问题:
$cfg['PmaAbsoluteUri'] = 'http:\/\/www.example.com/phpmyadmin';
理论上,使用 PMA_ABSOLUTE_URI 环境变量也可以做到这一点,但它对我不起作用。
【讨论】:
以上是关于Docker、nginx、phpmyadmin 授权期间重定向错误的主要内容,如果未能解决你的问题,请参考以下文章
nginx proxy_pass 到 phpmyadmin docker 容器
如何使用 nginx-proxy 与 wordpress docker 容器一起运行 phpmyadmin?
centos7一步一步搭建docker phpmyadmin 及nginx配置phpmyadmin非根目录重点讲解
sh Ubuntu 16.04的跛行堆栈(PHP7,Nginx,MySql,MongoDB,PhpMyAdmin,Git,Node.js,Bower,Gulp,Docker,Composer(带资产插