J’ai lu le guide de débutant de nginx :
server { location / { root /data/www; } location /images/ { root /data; } }
http: //localhost/images/example.png -> /data/images/example.png
http: //localhost/some/example.html -> /data/www/some/example.html
Donc, ma configuration nginx:
server { listen 443; server_name localhost; ssl on; ssl_certificatee /home/attolee/sslkey/example.crt; ssl_certificatee_key /home/attolee/sslkey/example.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:!EXP; ssl_prefer_server_ciphers on; location / { root /home/attolee; index index.html; } location /hi/ { root /home/attolee; index hi.html; } }
je veux
Maintenant 1 travail, 2 échoués, 403 interdits.
le journal des erreurs me dit 13: Permission denied
.
Donc, je vérifie propre et groupe de / home / attolee et / home / attolee / hi /, ainsi que hi.html.
drwxr-xr-x 6 attolee attolee 4096 Nov 2 17:08 attolee/ drw-rw-rw- 2 root root 4096 Nov 2 17:12 hi/ -rw-rw-rw- 1 root root 24 Nov 2 17:12 hi.html
puis vérifiez que la propriété USER du processus nginx en utilisant htop est root.
Comment régler ceci?
Tout d’abord, dans votre exemple, vous devriez faire ceci:
root /home/attolee; index index.html hi.html location / { try_files $uri $uri/ =404; }
Deuxièmement, vous n’avez pas besoin de lancer nginx en tant que root. Dans le nginx.conf, vous pouvez changer cela en www-data par exemple. Vous devez déplacer / home / hi à l’intérieur de / home / attolee / et définir / home / attolee avec le bon propriétaire.