スポンサーリンク
スポンサーリンク

Nginxが読み込むhtmlファイルは /varディレクトリ配下に置く

Nginx

Nginxが読み込むindex.htmlを、Nginx実行ユーザのhomeディレクトリ配下に置いた場合、”403 Forbidden”が発生してハマった。

/var/log/nginx/error.log

[error] 12762#12762: *7 “/home/nginxuser/WebApplication3.com/index.html” is forbidden (13: Permission denied), client: 127.0.0.1, server: localhost, request: “GET / HTTP/1.1”, host: “localhost”

バージョン

OS:CentOS Linux release 7.6.1810 (Core)
Nginx:nginx.x86_64 1:1.17.2-1.el7.ngx

chown/chmodで権限を調整しても、SELinuxをdisableにしても解消せず、
/varフォルダ配下に、index.htmlを配置することで解消しました。

1. Permission deniedにならないPathと設定。

Path

/var/www/WebApplication3.com/index.html

/etc/nginx/conf.d/default.conf

location / {
  root /var/www/WebApplication3.com;
  index index.html index.htm;
  allow all;
}

2. Permission deniedになるPathと設定。

Path

/home/nginxuser/WebApplication3.com/index.html

/etc/nginx/conf.d/default.conf

location / {
  root /home/nginxuser/WebApplication3.com;
  index index.html index.htm;
  allow all;
}

参考
CentOS 7へのnginxのインストール。最短でバーチャルホストまでを利用する
Nginxで403 Forbiddenが表示された時のチェックポイント5選
  

コメント

タイトルとURLをコピーしました