我想为支持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>
如果我在这里做错了什么?
答案 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