未找到 NGINX htpasswd 404
NGINX htpasswd 404 not found
我正在使用 NGINX 运行 我的网站,我想启用对网站的身份验证,所以我做到了,使用 .htpasswd 文件并且它有效,这是我的 default.conf 文件:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
auth_basic "Administrator Login";
auth_basic_user_file /usr/share/nginx/html/.htpasswd;
location / {
root /usr/share/nginx/html;
index index.html index.html;
}
它起作用了,这样我的整个页面都需要身份验证,现在我想使 'public' 文件夹无需身份验证即可使用,所以我遵循 official NGNIX docs 并将此指令添加到我的 default.conf
location /public/ {
auth_basic off;
}
但现在的问题是,每次我尝试访问 public 文件夹中的某些文件时,说 http://mywebsite.com/public/test.html 我一直收到 '404 未找到' 如果我从 default.conf 中删除它:
location /public/ {
auth_basic off;
}
我将能够访问 http://mywebsite.com/public/test.html 但显然我必须提供身份验证登录名和密码,任何想法都会有所帮助,谢谢。
因为你没有告诉nginx在location是/public.
的时候去哪里看文档
试试这个:
location /public {
auth_basic off;
root /usr/share/nginx/html;
index index.html index.html;
}
或者,做得更好:将 root 和 index 指令移到服务器块中。
我正在使用 NGINX 运行 我的网站,我想启用对网站的身份验证,所以我做到了,使用 .htpasswd 文件并且它有效,这是我的 default.conf 文件:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
auth_basic "Administrator Login";
auth_basic_user_file /usr/share/nginx/html/.htpasswd;
location / {
root /usr/share/nginx/html;
index index.html index.html;
}
它起作用了,这样我的整个页面都需要身份验证,现在我想使 'public' 文件夹无需身份验证即可使用,所以我遵循 official NGNIX docs 并将此指令添加到我的 default.conf
location /public/ {
auth_basic off;
}
但现在的问题是,每次我尝试访问 public 文件夹中的某些文件时,说 http://mywebsite.com/public/test.html 我一直收到 '404 未找到' 如果我从 default.conf 中删除它:
location /public/ {
auth_basic off;
}
我将能够访问 http://mywebsite.com/public/test.html 但显然我必须提供身份验证登录名和密码,任何想法都会有所帮助,谢谢。
因为你没有告诉nginx在location是/public.
的时候去哪里看文档试试这个:
location /public {
auth_basic off;
root /usr/share/nginx/html;
index index.html index.html;
}
或者,做得更好:将 root 和 index 指令移到服务器块中。