【发布时间】:2020-01-02 17:35:04
【问题描述】:
通过查看this 等教程,设置 .htpasswd 身份验证似乎相对容易。
这是我访问网站的 HTTPS 块:
server {
listen 443;
server_name potato;
root /var/www/html;
ssl on;
ssl_certificate /srv/ssl/cert.pem;
ssl_certificate_key /srv/ssl/key.pem;
location / {
auth_basic "Restricted Content";
auth_basic_user_file /usr/local/nginx/.htpasswd;
}
}
我从here 收集了以下 sn-p 来创建 .htpasswd 文件:
USERNAME=admin
PASSWORD=password
sudo printf "$USERNAME:$(openssl passwd -crypt $PASSWORD)\n" >> .htpasswd
这最初因权限被拒绝错误而失败,我首先创建一个空的 .htpasswd 然后通过sudo chown max:max .htpasswd 授予自己权限来解决该错误。
当我访问该网站时,我确实看到了 Auth 提示,但即使我输入了正确的密码,我也会收到 403 错误。
我一直在摆弄这个问题,并继续通过谷歌搜索进行挖掘。但我会很感激任何关于可能来源的提示。如果有人可以向我展示一种可靠的方法来诊断 Auth 失败的原因,那就太好了。
在我的 access.log 文件中,我有这样的条目:
73.170.238.232 - admin [05/Sep/2016:12:03:34 -0700] "GET /musicker/dist/ HTTP/1.1" 403 571 "-" "Mozilla/5.0 (X11; CrOS x86_64 8350.68.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
但我在那里没有看到太多有用的信息。你可以看到我正在尝试访问/musicker/dist/ 的网站,而在 Nginx 中我的location / 块正在捕获这个并添加 auth_basic。
【问题讨论】:
标签: nginx