PHP FPM 虚拟主机中的基本身份验证
Basic authentication in vhost in PHP FPM
我想为 apache PHP 处理程序是 FastCGI(FPM) 的地方设置一个基于基本身份验证的虚拟主机。我找到了一个解决方案 ,但不确定它是否与我所做的相同。
服务器和软件详细信息:
中央操作系统 6.9
Apache 2.4 - 使用源代码编译
PHP 5.6.6 - 使用源代码编译
我已将 PHP 配置为 FPM,并将 运行 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 ..
等等
我的虚拟主机配置为:
<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/ [L,P]
</IfModule>
</Directory>
ErrorLog "logs/spectrumenterprise.jnj.com-error_log"
CustomLog "logs/spectrumenterprise.jnj.com-access_log" common
</VirtualHost>
如果我做错了什么?
我找到了解决方案,
我在 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
我想为 apache PHP 处理程序是 FastCGI(FPM) 的地方设置一个基于基本身份验证的虚拟主机。我找到了一个解决方案
服务器和软件详细信息: 中央操作系统 6.9 Apache 2.4 - 使用源代码编译 PHP 5.6.6 - 使用源代码编译
我已将 PHP 配置为 FPM,并将 运行 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 ..
等等
我的虚拟主机配置为:
<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/ [L,P]
</IfModule>
</Directory>
ErrorLog "logs/spectrumenterprise.jnj.com-error_log"
CustomLog "logs/spectrumenterprise.jnj.com-access_log" common
</VirtualHost>
如果我做错了什么?
我找到了解决方案,
我在 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