我有一个码头集装箱,运行phpMyAdmin。
它使用自生成的允许通过traefik加密证书。
我使用- PMA_ARBITRARY=1设置,这样它在默认情况下不会有任何信息(用户必须输入主机等)。
它可以很好地连接到我的远程(托管)数据库。
问题在于UI内部,它说它不是SSL。(地址栏为SSL,但与remove数据库的连接不是)
我在运行phpmyadmin实例的服务器上拥有这个远程数据库的证书。我通过连接名为dbeaver的本地软件对此证书进行了测试,它与cert文件一起工作。
我如何编辑我的码头撰写文件,以便它可以使用这个文件?
证书文件位于我的服务器上:~/app/phpmyadmin/ca.Cericate.crt
我使用portainer来部署docker文件。
我认为我必须在docker容器中以某种方式编辑config.user.inc.php文件,以设置以下值:
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// Enable SSL verification
$cfg['Servers'][$i]['ssl_verify'] = true;
$cfg['Servers'][$i]['ssl_ca'] = '/etc/phpmyadmin/ca.certificate.crt ';是否需要将下列内容添加到我的坞撰写文件中?config.user.inc.php能否只包含需要覆盖的部分和要覆盖的其余部分?
volumes:
- ~/apps/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
- ~/apps/phpmyadmin/ca.certificate.crt :/etc/phpmyadmin/ca.certificate.crt 下面是我当前的停靠撰写文件:
version: '3.3'
services:
phpmyadmin:
container_name: phpmyadmin
environment:
- PMA_ARBITRARY=1
image: phpmyadmin
restart: unless-stopped
networks:
- traefik
- default
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.phpmyadmin-secure.entrypoints=websecure"
- "traefik.http.routers.phpmyadmin-secure.rule=Host(`phpmyadmin.example.com`)"
networks:
traefik:
external: true 谢谢
发布于 2022-10-22 02:09:02
如果您使用任意的服务器指令而没有在config.inc.php中指定服务器,我不确定是否有可能定义服务器特定的参数,例如SSL证书;这可能超出了设计目标,这样的行为是不可靠的。更好的方法是显式定义服务器,包括SSL信息。
根据服务器实例的具体情况,您还可能需要$cfg['Servers'][$i]['ssl_key']、$cfg['Servers'][$i]['ssl_cert']、$cfg['Servers'][$i]['ssl_ca_path']和$cfg['Servers'][$i]['ssl_ciphers'];有关这些指令的详细信息,请参阅https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_ssl。
config.user.inc.php文件只包含希望覆盖默认设置的部分;如果需要的话,您可以拥有一个只包含几行的文件。
https://stackoverflow.com/questions/74133963
复制相似问题