nginx シンボリックリンクの権限が拒否されました / Mac OSX で 403 禁止

nginx シンボリックリンクの権限が拒否されました / Mac OSX で 403 禁止

Mac OSX で nginx サーバーを稼働させていますが、どこか別の場所から nginx www ディレクトリにシンボリックリンクを作成しようとしています。ブラウザで、驚くべき403 Forbiddenエラーが表示されます。また、過去数時間、chmod を試してみました。

スタック上にはそれに関するものは何もないようです。 1 つ気になるのは、シンボリック リンクが Mac 上の ngninx で直接サポートされているかどうかわからないことです。

ディレクティブを使用しようとすると、disable_symlink次の結果になります。

nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:44`


私のセットアップに関する情報
nginx -v:nginx version: nginx/1.4.2


シンボリックリンクを作成するには、次の手順を実行します。

cd /Users/levi/www
ln -s "/Users/levi/Desktop/.../client" "/Users/levi/www/client"


ログ内のエラー:

[error] 11864#0: *7 open() "/Users/levi/www/client" failed (13: Permission denied), client: 127.0.0.1, server: _, request: "GET /client HTTP/1.1", host: "localhost"


どのようなご助力でも大歓迎です。他に提供できる情報があればお知らせください。

答え1

私も同じような問題に遭遇しました。ターゲットまでの途中にあるディレクトリの 1 つに、制限が厳しすぎる権限があったことが判明しました。 chmod 755 $HOME私の場合は修正しました。

答え2

nginx 1.2.7 を搭載した Mac で nginx を使用したシンボリック リンクが動作することを確認できます。

次のように作成されたシンボリックリンク:

ln -s /Users/salpher/nginxtest /usr/local/opt/nginx/html/

「クライアント」ディレクトリにコンテンツはありますか? ディレクトリ インデックスの参照はデフォルトで無効になっており、インデックス ページがなく、URL が特定のコンテンツ ファイルを指していない場合は 403 禁止が表示されます。

ディレクトリの参照が必要な場合は、ディレクトリ設定で autoindex をオンにして有効にすることができます。

    location / {
        autoindex on;
        root   html;
        index  index.html index.htm;
    }

関連情報