在 phpmyadmin 上找不到 404 - nginx docker
Posted
技术标签:
【中文标题】在 phpmyadmin 上找不到 404 - nginx docker【英文标题】:404 not found on phpmyadmin - nginx docker 【发布时间】:2021-09-26 02:41:04 【问题描述】:我想使用 docker 和 nginx 在同一个域上运行 phpmyadmin 和我的 API,如:
api => localhost:8888/
phpmyadmin => localhost:8888/phpmyadmin/
phpmyadmin 服务的 Docker 配置:
phpmyadmin:
image: phpmyadmin
restart: always
environment:
PMA_ARBITRARY: 1
PMA_HOST: mysql
PMA_USER: $DATABASE_USER
PMA_PASSWORD: $DATABASE_PASSWORD
depends_on:
- mysql
这是 nginx 服务配置:
nginx:
image: nginx:stable-alpine
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- api
- phpmyadmin
restart: always
ports:
- '8888:80'
这是 nginx 配置文件:
upstream pma
server phpmyadmin;
server
listen 80;
server_name localhost;
# resolver 127.0.0.1;
location /
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://api:8889/;
proxy_redirect off;
location ~/phpmyadmin(.*)$
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://pma/$1/;
proxy_redirect off;
一切正常,我可以使用 API,如 localhost:8888/url
,它工作正常。但是当我请求localhost:8888/phpmyadmin/
时,它会加载它,但是js和所有css给出404未找到,这是控制台预览:
我花了 3 个多小时挠头来解决这个问题,尽了最大的努力,但它不起作用。我对 nginx 非常陌生,所以任何人都可以帮助我。
【问题讨论】:
【参考方案1】:您是否尝试在 docker phpmyadmin 服务环境中添加PMA_ABSOLUTE_URI
?结帐this:
PMA_ABSOLUTE_URI
- phpMyAdmin 的完整 URL。在反向代理配置中使用时有时需要。
像这样添加:
PMA_ABSOLUTE_URI: localhost:8888/phpmyadmin/
请注意最后一个/
,非常非常重要,错过了就不行了。
【讨论】:
以上是关于在 phpmyadmin 上找不到 404 - nginx docker的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter:在 Live Server 上找不到 404 页面
Google Maps Javascript API V3 在移动/本机应用程序上找不到 404
laravel 5.1 表示除了 ('/') 之外的所有其他路由,使用 ec2 在在线亚马逊服务器上找不到 404 页面
Flask - 404 Not found : 在服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写并重试
Typicode 我的 json 服务器显示“404 错误糟糕,在主分支或主分支上找不到 db.json 文件。尝试创建一个并重试。”