首页 > 解决方案 > NGINX 403 根目录被禁止

问题描述

使用来自 Bitnami 的 Linux/NGINX 安装在 AWS Lightsail 上设置站点。

根文件夹 (/opt/bitnami/nginx/html) 默认包含index.html,一切运行良好。但是,将该索引文件换成index.php会在 chrome 中返回 403 并记录以下错误...

*42 directory index of "/opt/bitnami/nginx/html/" is forbidden

Index.php 正在执行<?php phpinfo(); ?>

通过直接指向其路径(site.com/index.php),可以在浏览器中访问 Index.php

我的配置文件nginx.conf的内容未修改,如下...

user  daemon daemon;
worker_processes  auto;

error_log  "/opt/bitnami/nginx/logs/error.log";

events {
    use                 epoll;
    worker_connections  1024;
    multi_accept        on;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    client_body_temp_path  "/opt/bitnami/nginx/tmp/client_body" 1 2;
    proxy_temp_path "/opt/bitnami/nginx/tmp/proxy" 1 2;
    fastcgi_temp_path "/opt/bitnami/nginx/tmp/fastcgi" 1 2;
    scgi_temp_path "/opt/bitnami/nginx/tmp/scgi" 1 2;
    uwsgi_temp_path "/opt/bitnami/nginx/tmp/uwsgi" 1 2;

    access_log  "/opt/bitnami/nginx/logs/access.log";

    sendfile        on;

    keepalive_timeout  65;

    gzip on;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_vary on;
    gzip_types text/plain
               text/xml
               text/css
               text/javascript
               application/json
               application/javascript
               application/x-javascript
               application/ecmascript
               application/xml
               application/rss+xml
               application/atom+xml
               application/rdf+xml
               application/xml+rss
               application/xhtml+xml
               application/x-font-ttf
               application/x-font-opentype
               application/vnd.ms-fontobject
               image/svg+xml
               image/x-icon
               application/atom_xml;

    gzip_buffers 16 8k;

    add_header X-Frame-Options SAMEORIGIN;

    ssl_prefer_server_ciphers  on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS;

    include "/opt/bitnami/nginx/conf/bitnami/bitnami.conf";

}

包括“ /opt/bitnami/nginx/conf/bitnami/bitnami.conf ”的内容如下......

# HTTP server

server {
    listen       80;
    server_name  localhost;

    include "/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf";

}

包括“ /opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf ”的内容如下...

location ~ \.php$ {
    root           html;
    fastcgi_read_timeout 300;
    fastcgi_pass   unix:/opt/bitnami/php/var/run/www.sock;

    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $request_filename;
    include        fastcgi_params;
}

注意:我也尝试添加index index.php到上述内容。关于这里可能发生什么的任何想法?

注意:故障排除,我尝试了上面引用的nginx.config文件的剥离替代方案,它解决了 403 错误,但除了在访问根目录时下载 index.php 文件之外不会做任何事情......

user  daemon daemon;
worker_processes  auto;

error_log  "/opt/bitnami/nginx/logs/error.log";



events {
    use                 epoll;
    worker_connections  1024;
    multi_accept        on;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    client_body_temp_path  "/opt/bitnami/nginx/tmp/client_body" 1 2;
    proxy_temp_path "/opt/bitnami/nginx/tmp/proxy" 1 2;
    fastcgi_temp_path "/opt/bitnami/nginx/tmp/fastcgi" 1 2;
    scgi_temp_path "/opt/bitnami/nginx/tmp/scgi" 1 2;
    uwsgi_temp_path "/opt/bitnami/nginx/tmp/uwsgi" 1 2;

    access_log  "/opt/bitnami/nginx/logs/access.log";

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.php;
        }

    }

}

标签: phpamazon-web-servicesnginxbitnamiamazon-lightsail

解决方案


通过更新“ /opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf ”解决如下...

location / {
    root   html;
    index  index.php;
}

location ~ \.php$ {
    root           html;
    fastcgi_read_timeout 300;
    fastcgi_pass   unix:/opt/bitnami/php/var/run/www.sock;

    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $request_filename;
    include        fastcgi_params;
}

我承认,这不是我最自豪的时刻。


推荐阅读