nginxがシンボリックリンクで403を返す
nginxが403を返す理由は様々です。
まずはこちらをざざっと参照し、気になるポイントがあったら試してみましょう:
僕は時々はシンボリックリンクを設定して403になってしまい頭を抱えてしまいます。数年に一回ぐらいのペースでやらかすので、毎回ググってるんですよね。
たとえば以下のように、your-project 以下に存在する assets ディレクトリを https://localhost/assets でアクセスできるようにしようとして、シンボリックリンクを設定すると403になったりします。
$ cd your-project $ ln -s assets /usr/local/var/www/assets
この場合は nginx.conf に location /assets/
を追加すると良いでしょう。
location /assets/ { root /usr/local/var/www/your-project/; }
蛇足になりますが、慣れていないと以下のように書いてしまいがちです。 このように設定すると nginx は https://localhost/assets へのアクセスを your-project/assets/assets/ として解決しようとします。 この試みは失敗し404が帰るでしょう。
# これはダメな例です location /assets/ { root /usr/local/var/www/your-project/assets/; }
こちらの記事も参考にしてください: