Ngix 403 Forbidden-Ubuntu

时间:2019-10-23 12:24:24

标签: linux ubuntu nginx

我的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' '*';
}

结果相同


nginx.conf

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/*;
}

1 个答案:

答案 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 *
  

https://www.ionos.com/community/server-cloud-infrastructure/nginx/solve-an-nginx-403-forbidden-error/