在 SSL 虚拟主机上启用 fastcgi

在 SSL 虚拟主机上启用 fastcgi

Debian 7.5

我的 80 端口 VirtualHost 与 fastcgi 的 ifmodule 配合使用效果很好。但是,它无法与 443 端口 VirtualHost 配合使用。

SSL/https:// 一直运行正常,直到我添加了以下内容:

<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>

当我尝试重新启动 Apache 时收到错误:

重新加载 Web 服务器配置:apache2 失败!

但是,如果我删除 FastCgiExternalServer 行,它就可以工作。

答案1

在您的 SSL 定义中,添加此

Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgiSSL
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgiSSL -socket /var/run/php5-fpm.sock -pass-header Authorization

你遇到的错误是由于别名的双重定义造成的

Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi

通过创建另一个名称的别名(在本例中为 php5-fcgiSSL),您的问题就解决了

答案2

您可以通过端口或套接字连接到 FastCGI。

在令人反感的那句话中:

FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock

您正在通过套接字连接。替换-socket-host,例如-host 127.0.0.1:443

相关内容