php - 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;
}
}
}
解决方案
通过更新“ /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;
}
我承认,这不是我最自豪的时刻。
推荐阅读
- mongodb - 获取另一个集合中的数组中存在的所有文档
- javascript - 无法在 extjs 中设置两次树存储数据
- java - onBindViewHolder 处的 Recyclerview ClassCastException
- list - 仅在 C++ 列表的一部分上限制 remove_if
- python - Pandas - 在两列中查找具有匹配值的行并在另一列中相乘
- kubernetes - Kubenetes:更改 hpa min-replica
- c++ - Windows 上的进程资源限制
- jquery - JQuery 根据当前部分 ID 显示下拉菜单
- git - 当我通过 android stduio 在 github 上发布我的应用程序时,我遇到了错误
- ajax - 通过 AJAX 检索数据还是从控制器(Laravel)的视图中返回数据更好?