在HAproxy后面为phpmyadmin配置apache2

y1aodyip  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(164)

我在寻找解决我的问题的方法,但是我仍然不能解决它...
我有防火墙(pfsense)在我拥有反向代理的云虚拟机中(HAproxy),用于在2台后端服务器上平衡和卸载https。这2台服务器是经典LAMP(Ubuntu Apache 2 2.4.53,PHP 7.4,MySQL)我正在另一个端口上使用phpmyadmin(假设是1234),并且我在反向代理上使用相同的域(example.com),根据哪个地址平衡到lamp 1或lamp 2:

  • example.com:1234/phpmyadmin1〉LAMP1
  • example.com:1234/phpmyadmin2〉LAMP 2激光脉冲发生器

所有这些都运行得很好,但是我还在学习中,我犯了一些错误,几个月后我意识到了。我可以使用php-fpm而不是php-mod,我想使用php8.1和php7.4,最大的错误是我的Ubuntu版本是21.04(是的,我愚蠢地错误地使用LTS......),所以为了做所有这些,我最终决定在一个新的VM上开始一个全新的安装:灯3
我有我的新的LAMP 3与phpmyadmin,我跟随DigitalOcean tuto的PHP-FPM,测试与简单的网页,我可以切换到php8.1或php7.4。一切听起来不错。
现在,我想在反向代理中集成LAMP 3,以便将www.example.com重example.com:1234/phpmyadmin3到我的phpmyadmin
当我在VPN上,我可以尝试http://10.0.0.3:1234/phpmyadmin3和它的工作.但当我尝试从互联网与https://example.com:1234/phpmyadmin3,我有错误404未找到.
这个错误404意味着我在服务器上,而不是在反向代理上。所以我被重定向到正确的位置。
我更改了使用原始别名(/phpmyadmin)的配置,并在反向代理上更新了它。猜猜怎么着,它工作了!我肯定它是LAMP 3,因为我有php8.1的phpmyadmin(我没有在其他2个LAMP上)
我尝试在虚拟主机中包含默认的phpmyamin,但我更喜欢在一个地方包含所有信息,所以我创建了一个包含所有信息的虚拟主机phpmyadmin.conf(见下文)。我在apache conf中禁用了phpmyadmin(a2 disconf phpmyadmin)。我在这个虚拟主机中尝试了很多不同的东西,但现在我迷路了
我再次重新安装,但是当我将别名从/phpmyadmin 3更改为/phpmyadmin时,一切都正常工作。
那为什么,怎么解决?我的化名有什么问题?

phpmyadmin.配置文件

<VirtualHost *:17380>
        ServerName localhost
        Alias /phpmyadmin3 /usr/share/phpmyadmin
        DocumentRoot /usr/share/phpmyadmin
        DirectoryIndex index.php
        <Directory /usr/share/phpmyadmin>
            Options FollowSymLinks
            AllowOverride All
            Order allow,deny
            allow from all
            Require all granted
        </Directory>
        <Directory /usr/share/phpmyadmin/templates>
            Require all denied
        </Directory>
        <Directory /usr/share/phpmyadmin/libraries>
            Require all denied
        </Directory>
        <FilesMatch \.php$>
           SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
        </FilesMatch>
        ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log
        CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined
    </VirtualHost>

VirtualHost *:17380>
    ServerName example.com
    Alias /phpmyadmin3 /usr/share/phpmyadmin
    DocumentRoot /usr/share/phpmyadmin
    DirectoryIndex index.php
    <Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
        Require all granted
    </Directory>
    <Directory /usr/share/phpmyadmin/templates>
        Require all denied
    </Directory>
    <Directory /usr/share/phpmyadmin/libraries>
        Require all denied
    </Directory>
    <FilesMatch \.php$>
       SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
    </FilesMatch>
    ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.error.log
    CustomLog ${APACHE_LOG_DIR}/phpmyadmin.access.log combined
</VirtualHost>

版本

Ubuntu 22.04
apache 2.4.53
mysql 5.7.38
php-fpm7.4
php-fpm8.1
s3fp2yjn

s3fp2yjn1#

如果能解决我的问题...
我没有使用别名/phpmyadmin 3,而是尝试使用别名/pma 3和/test,它工作正常!
所以...我猜这是我的服务器缓存的东西?不是我的浏览器,因为我尝试从不同的个人电脑不同的浏览器在私人模式。
我猜是解决了

相关问题