事象
・ドキュメントルートを追加した設定ファイルがあり、hoge_publicディレクトリを作成した際に~/にアクセスすると403エラーとなります。
・ディレクトリ配下にsitemap.xmlを配置した状態でも~/にアクセスすると403エラー、この状態で~/sitemap.xmlにアクセスするとファイルの中身が正常に表示される。
・/hoge_piublic配下にsitemap.xmlを配置した場合、~/sitemap.xmlとアクセスすれば正常に表示される。
→/home/hogeuser/DocumentRoot/hoge_publicは参照できている
・設定を追加した状態でもディレクトリを作成しない状態であれば、~/でトップページ(@hogehoge)が正常に表示される。
エラー
error.logには下記のようなファイルが存在しないエラーが数十行表示されており、意図した場所を参照しておらず、そこには該当ファイルは存在しない状態です。
エラーのパスはnginxデフォルトのパスのため、ファイルが見つからず、フォールバックしていると思われます。
/usr/share/nginx/html/hoge.html" failed (2: No such file or directory),
想定される原因
・意図した場所を参照していないため、設定ファイルの書き方が間違っている
→~/sitemap.xmlでアクセスできているので、ドキュメントルートの設定は合っており、動作しているはずなのですが。。
・権限の問題
→ディレクトリはドキュメントルートへのすべてのディレクトリでx,r権限が付与されている。~/sitemap.xmlでアクセスできているので権限は問題ないかと思っているのですが。。
・OS設定の問題
→selinuxが原因の場合もある情報がありましたが、無効になっています。
設定ファイル
server { listen 80; server_name hogehoge.com; # ステージングと同じドメイン名となっている access_log /home/kusanagi/hogehoge/log/nginx/access.log main; error_log /home/kusanagi/hogehoge/log/nginx/error.log warn; # rewrite ^(.*)$ https://hogehoge.com$request_uri permanent; charset UTF-8; client_max_body_size 16M; root /home/kusanagi/hogehoge.com/DocumentRoot; index index.php index.html index.htm; rewrite /wp-admin$ $scheme://$host$uri/ permanent; rewrite ^/hogeA(.*)$ http://hogehoge.com/hogeA$1 permanent; rewrite ^/hogeB(.*)$ http://hogehoge.com/hogeB$1 permanent; rewrite ^/hogeC(.*)$ http://hogehoge.com/hogeC$1 permanent; location / { return 301 https://$host$request_uri root /home/hogeuser/DocumentRoot/hoge_public; add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS"; add_header Access-Control-Allow-Headers "Origin, Authorization, Accept"; add_header Access-Control-Allow-Credentials true; #try_files $uri @hogehoge; try_files $uri $uri/ @hogehoge; # ここを追記しました。 }
確認したこと
・ファイルに読み取り権限が付いている(ステージングと同じ)
・ドキュメントルートの各ディレクトリにx,r権限が付いている(ステージングと同じ)
・selinuxは無効になっている
・/etc/nginx/conf.d/配下の別の設定ファイルが読み込まれてはいない
期待する動作
~/にアクセスした場合も@hogehoge(TOPページのパスが設定されています)にアクセスされ、正常に表示される。
補足情報(FW/ツールのバージョンなど)
EC2
Wordpress
Lalavel
RDS
nginx
回答2件
あなたの回答
tips
プレビュー