我的nginx继续抛出403
我打开了日志,看到了
2019/10/23 12:08:25 [错误] 28945#28945:* 18禁止“ / home / bheng / snake-river / public /”目录索引,客户端:20.231.19.250,服务器:默认,请求:“ GET / HTTP / 1.1”,主机:“ 167.99.234.85”
然后我进入我的VM并运行
chgrp www-data public/
service nginx reload
现在看到此
drwxr-xr-x 5 root www-data 4.0K Oct 23 12:15 public/
刷新页面仍然相同??♂️
http://167.99.234.85/
ps -ef | grep nginx
root 29332 1 0 12:15 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
root 29369 29164 0 12:16 pts/2 00:00:00 tail -f /var/log/nginx/default-error.log
www-data 29769 29332 0 12:40 ? 00:00:00 nginx: worker process
root 29771 29278 0 12:42 pts/3 00:00:00 grep nginx
sudo ufw应用程序列表
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
我也尝试了$uri
和$uri/
location / {
try_files $uri $uri /index.php?$query_string;
add_header 'Access-Control-Allow-Origin' '*';
}
和
location / {
try_files $uri $uri/ /index.php?$query_string;
add_header 'Access-Control-Allow-Origin' '*';
}
结果相同
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
答案 0 :(得分:-1)
不正确的文件权限是导致“ 403 Forbidden”错误的另一原因。建议与NGINX一起使用目录的标准设置 755 和 644 。 NGINX用户还必须是文件的所有者。
标识NGINX用户
首先,您需要确定NGINX以什么用户身份运行。为此,请使用以下命令:
ps -ef | grep nginx
检查第一列中是否有任何NGINX工作进程:
在此示例中,NGINX worker进程以用户nginx的身份运行。
设置文件所有权
转到网站文档根目录上方的目录。例如,如果您网站的文档根目录为 /usr/share/nginx/example.com ,请使用以下命令转到 / usr / share / nginx :
cd /usr/share/nginx
使用以下命令将所有文件的所有权从此点更改为nginx用户:
sudo chown -R nginx:nginx
设置权限
使用以下命令将此位置的每个目录的权限设置为 755 :
sudo chmod 755 [directory name]
例如,要设置 example.com 目录的权限,命令为:
sudo chmod 755 example.com
然后转到Web文档的根目录:
cd example.com
使用以下命令更改此目录中所有文件的权限:
sudo chmod 644 *