31622


Ubuntu16.04でapacheのPHPをFastCGIで動かしたかったので、fcgidモジュールを導入しました。しかし設定ファイルで下記のように記述すると403が返ってきて、期待通り動作しませんでした。

[code]

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AddHandler fcgid-script .php
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        FcgidWrapper /usr/lib/cgi-bin/php7.0 .php
        Order allow,deny
        Allow from all
    </Directory>
    
[/code]

Order...の部分を下記のように変更すると、期待通りFastCGIが動作しました。

[code]

    # Order allow,deny
    # Allow from all
    Require all granted
    
[/code]

mod-
access_compatを有効にしていれば、上記の2つの設定は同じ意味合い(全て許可)になるという認識だったのですが、完全に同じ意味ではないということでしょうか？

なせOrder...による指定の場合403エラーとなるのでしょうか？


CC BY-SA 3.0
2017-01-03T08:08:04.577
31585
2017-01-04T15:43:31.177
17238
question
apache
Apache2.4のアクセス制限について


/etc/apache2/apache2.conf の157行目で `Require all denied` が指定されているのが原因のようです。

[code]

    <Directory />
            Options FollowSymLinks
            AllowOverride None
            Require all denied
    </Directory>
    
[/code]

この設定により、 `/usr/lib/cgi-bin` に `Allow from all` を指定しても、その上の階層である `/` に `Require
all denied` が指定されているので、そちらが優先されるようです。

例えばこの `Require all denied` をコメントアウトすると 200 を返すようになります。


CC BY-SA 3.0
2017-01-04T15:37:42.067
31622
2017-01-04T15:43:31.177
2017-01-04T15:43:31.177
20043
20043
31585
answer