Apache 2.4 带有 PHP-FPM 和 PHPMyAdmin 的 ProxyPassMatch,它安全吗?

Apache 2.4 带有 PHP-FPM 和 PHPMyAdmin 的 ProxyPassMatch,它安全吗?

我最近配置了 Debian 8 和 Apache 2.4。由于我有一个较新的 Apache 版本,因此我使用了 ProxyPassMatch 而不是 FastCgiExternalServer。

但在为 PhpMyAdmin 配置别名时,我怀疑这是否安全。这是我的配置:

<VirtualHost *:80>
    ServerName www.my-website.com

    DocumentRoot /var/www/html/
    Alias /phpmyadmin/ "/usr/share/phpmyadmin/"
    <Directory "/usr/share/phpmyadmin/">
            Options FollowSymLinks
            DirectoryIndex index.php
    </Directory>

    # Disallow web access to directories that don't need it
    <Directory /usr/share/phpmyadmin/libraries>
            Order Deny,Allow
            Deny from All
            Require all granted
    </Directory>
    <Directory /usr/share/phpmyadmin/setup/lib>
            Order Deny,Allow
            Deny from All
            Require all granted
    </Directory>

    ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm-pma.sock|fcgi://localhost/usr/share"

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
</VirtualHost>

让我困扰的是 ProxyPassMatch 允许加载/usr/share/以 结尾的目录中的任何文件.php*。我只想执行中的文件,/usr/share/phpmyadmin/但由于它是一个别名,因此该/phpmyadmin/部分已附加 =>

ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/var/run/php5-fpm-pma.sock|fcgi://localhost/usr/share/phpmyadmin/"

不起作用,出现/usr/share/phpmyadmin/phpmyadmin/index.php未找到错误。

那么,关于访问,我的实际配置是否足够安全/usr/share/

感谢您的帮助!

答案1

我遇到了同样的问题,首先可以让:

ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/html/

在里面/etc/apache2/sites-available/000-default.conf

但诀窍是简单地创建一个这样的符号链接:

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

之后,您必须执行“ systemctl reload apache2”,它才能再次起作用。

相关内容