Apache基本身份验证,PHP运行为FPM

时间:2018-01-05 08:44:37

标签: php http-basic-authentication fpm

我想为支持FPM的PHP安装设置基于身份验证的基本身份验证。我找到了一个解决方案here,但不确定它与我做的是否相同。

服务器和SW细节: CentOS 6.9 Apache 2.4 - 使用源代码编译 PHP 5.6.6 - 使用源代码编译

我已使用FPM配置PHP并将PHP运行为:

php-fpm -y /usr/local/php/php/fpm/php-fpm.conf -c /usr/local/lib/php.ini

我有一些游泳池:

listen = 127.0.0.1:9001
listen = 127.0.0.1:9002 .. 

等等

我的vhost配置为:

<VirtualHost *:80>
    DocumentRoot "/var/www/html/webserver/web"
    ServerName spectrumenterprise.jnj.com
    <Directory /var/www/html/webserver/web>
        Options -Indexes +FollowSymLinks -ExecCGI +MultiViews    
        AllowOverride All    
        Order allow,deny
        allow from all
        AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /etc/httpd/.htpasswd
        Require valid-user    
        Require all granted     
        <IfModule mod_proxy_fcgi.c>
            RewriteEngine On
            RewriteBase /
            RewriteOptions InheritBefore
            RewriteCond %{REQUEST_FILENAME} -f
            RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9007/var/www/html/webserver/web/$1 [L,P]
        </IfModule>
    </Directory>        
    ErrorLog "logs/spectrumenterprise.jnj.com-error_log"
    CustomLog "logs/spectrumenterprise.jnj.com-access_log" common
</VirtualHost>

如果我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,

我在webroot上有一个.htaccess,我添加了

Order allow,deny
allow from all
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /var/www/html/site1/web/.htpasswd
Require valid-user
Require all granted

之后

<IfModule mod_rewrite.c>
    RewriteEngine On

在.htaccess的同一位置添加.htpasswd文件(在我的情况下为/ var / www / html / site1 / web /)

重启池和apache

pkill -o php-fpm
php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/lib/php.ini
/usr/local/apache2/bin/httpd -k restart