【问题标题】:SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/" ON <VirtualHost *:443>SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/" ON <VirtualHost *:443>
【发布时间】:2019-01-05 09:15:11
【问题描述】:

我在 apache2 下有一个服务器,有多个 php 版本。 我可以将代理用于但不能用于 我放了

<FilesMatch \ .php $>
    # Apache 2.4.10+ can proxy to unix socket
    SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/"
</ FilesMatch>

为什么它在 443 上不起作用?

我的例子:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin email@example.com
        ServerName example.com
        DocumentRoot /var/www/html/
        <Directory /var/www/html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>
        <FilesMatch \.php$>
            # Apache 2.4.10+ can proxy to unix socket
            SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/"
        </FilesMatch>
        SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
    </VirtualHost>
</IfModule>

我的虚拟主机 *:80(有效)

<VirtualHost *:80>
    ServerAdmin email@example.com
    ServerName example.com
    DocumentRoot /var/www/html/
    <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

提前谢谢你

【问题讨论】:

  • 您需要检查您对空格的使用,因为它们不同。 FilesMatch 是一个正则表达式,应该用引号引起来。
  • 你有例子吗?我确实放了一些引号
  • 匹配应该是&lt;FilesMatch "\.php$"&gt;,你应该以&lt;/FilesMatch&gt;结尾(你的第一个有空格)
  • 我刚试过但同样的问题,这很奇怪,在 的配置上它可以工作
  • 你能准确地发布你的 :80 吗?严格来说你不需要引号:但是你有不同的问题/空格等,所以你真的想确保你已经正确/准确地复制并加上引号可以消除歧义。

标签: php apache configuration virtualhost


【解决方案1】:

我发现 因为我有几个处理虚拟主机的文件,这就是原因。 我有一个文件 /etc/apache2/sites-available/default-ssl.conf 可以处理一些虚拟主机 443 非常感谢您的支持

【讨论】:

    猜你喜欢
    • 2020-02-10
    • 2016-09-04
    • 1970-01-01
    • 2020-01-04
    • 2023-03-04
    • 2015-02-28
    • 2014-02-22
    • 2018-05-03
    • 2010-11-24
    相关资源
    最近更新 更多