
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;
}