403 禁止 - Nginx - 使用正确的凭据

2023-11-21

我正在尝试用密码保护 Nginx 支持的站点上的目录,其中包含 phpMyAdmin、MemcacheMyAdmin 和更多管理实用程序等内容。

该目录位于我网站的根目录中:

domain.com/control/

我的服务器上的绝对路径位于:

/home/deployer/sites/domain.com/control/

我使用以下命令在目录中创建了一个 .htpasswd 文件:

htpasswd -c /home/deployer/sites/domain.com/control/.htpasswd admin

该文件存在,由“root”用户拥有,权限为 0644。

在 Nginx 内该域的 .conf 文件中,我使用以下位置块来要求身份验证。

  location /control {
    auth_basic            "Restricted Area: Control";
    auth_basic_user_file  /home/deployer/sites/domain.com/control/.htpasswd;
  }

当进入受密码保护的目录时,系统会提示我输入用户名和密码。我输入之前创建的凭据,然后看到错误 403 禁止页面。

访问日志显示我正在点击登录提示,然后以“admin”用户身份登录:

64.123.456.225 - - [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 401 597 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 301 185 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:59 +0000] "GET /control/memcache/ HTTP/1.1" 403 199 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"

错误日志显示以下内容:

2013/05/12 17:31:01 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"
2013/05/12 17:31:09 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"

如果我删除该站点的 Nginx .conf 的 Auth 块,我就可以像平常一样访问该页面。

谢谢你的帮助!


尽管这个问题有其公认的答案,但我仍然想在这里提出另一个我遇到麻烦的案例,这样其他人就不需要像我一样挣扎。

我也得到了 403 和正确的凭据,索引文件不是这种情况,文件存在也不是这种情况,配置是这样的:

auth_basic "some message";
auth_basic_user_file /etc/nginx/.htpasswd;

这里的问题是/etc/nginx/.htpasswd是一个绝对路径,实际上指向与以下内容相同的目录nginx.conf。它有点困惑nginx查找文件。 (通过说somehow,我不完全明白如何nginx不能仅仅处理这个问题,因为很明显该路径是绝对的并且nginx应该阅读它,所以如果有人有更好的解释,请通过评论分享)。

如果我把它改成:

auth_basic_user_file .htpasswd;

它起作用是因为nginx期望在同一目录中找到该文件nginx.conf.

即使我将其更改为:

auth_basic_user_file /home/user/.htpasswd; #and move the file to /home/user too

它也有效,因为我认为这条路并没有混淆nginx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

403 禁止 - Nginx - 使用正确的凭据 的相关文章

  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • Docker 与 nginx 组合不断显示欢迎页面

    我是新来的docker并尝试使用最简单的 docker compose yml 显示一个 hello world 页面 并在此基础上构建最终完整的LEMP堆栈它将与我的服务器具有相同的配置 然而大多数教程已经过时 并且有很多使用方法dock
  • NGINX 与 Tomcat 配置

    我是 Nginx 新手 我需要你的帮助 根据很多论坛我了解到我们所有的静态页面都存储在Nginx中 当有请求到来时 我必须将该请求传递给 tomcat 获取数据 并在 tomcat 生成响应后生成响应 目前 我刚刚做到了 我将请求直接传递给
  • Nginx反向代理(proxy_pass)不传递子文件夹

    我想在子文件夹配置中运行应用程序 Mattermost 例如 https www example com mattermost https www example com mattermost location mattermost gzi
  • nginx docker 容器:502 错误网关响应

    我有一个服务监听 8080 端口 这不是一个容器 然后 我使用官方镜像创建了一个 nginx 容器 docker run name nginx d v root nginx conf etc nginx conf d p 443 443 p
  • WebSockets 监听 UNIX 域套接字?

    是否可以在 nginx 服务器后面设置一个 WebSockets 服务器来处理 UNIX 域套接字上的连接 我目前在同一台计算机上有多个 WebSocket 服务器实例 并且存在端口共享问题 所有实例都必须分配一个唯一的端口 我想避免这种情
  • Asp.Net Web 服务:我想返回错误 403 禁止

    我有一个用 c asp net 编程的网络服务 WebService Namespace http example com WebServiceBinding ConformsTo WsiProfiles BasicProfile1 1 S
  • 错误:从上游读取响应标头时上游过早关闭连接 [uWSGI/Django/NGINX]

    我目前在用户正在进行的查询中总是得到 502 它通常返回 872 行 在 MySQL 中运行需要 2 07 然而 它返回了大量信息 每一行包含很多东西 有任何想法吗 运行 Django tastypie Rest API Nginx 和 u
  • 我可以在 Nginx Conf 中添加多少个服务器块

    知道我可以在 Nginx 配置中添加多少个服务器块吗 我需要将它用于具有多个子域的反向代理 每个客户端一个子域 它能成功支持 10 000 个服务器块吗 有没有相关的基准研究 这实际上并不是一个你有多少人的问题can但你有多少 能够妥善处理
  • Django + uwsgi + ngnix + 调试关闭 = 服务器错误(500)

    我正在尝试设置一个由 Django uwsgi Nginx 组成的生产服务器 我正在关注的教程位于此处http www panta info blog 3 how to install and configure nginx uwsgi a
  • 自动 IIS6 403.4 重定向到 SSL 不起作用

    我的 ASP Net 网站中有一个目录需要启用 SSL 对于所有其他目录 我不希望启用 SSL 使用 IIS 我为我想要需要 SSL 的文件夹选中了 需要安全通道 SS 和 128 位加密复选框 现在 当用户在我的安全目录中输入 http
  • Http POST 删除 URL 中的端口

    我有一个用 Django 构建的网络应用程序 我目前正在家里的路由器后面的笔记本电脑上运行它 我将路由器配置为将发送到特定端口的所有流量路由到该笔记本电脑 我将 Nginx 作为 Apache 的反向代理 使用 mod wsgi 来运行 D
  • nginx位置正则表达式,匹配多次

    如何在 nginx 位置正则表达式中多次匹配 看来 x x 语法永远不起作用 例如 location abc w 1 3 从来不工作 您必须引用包含以下内容的位置 or 人物 location abc w 1 3 否则 nginx 将其解析
  • 使用nginx容器作为反向代理时的原始url

    我有一个 Web 应用程序部署为码头集装箱 我也有一个nginx容器 使用dnsmasq解析器 设置为充当 Web 应用程序前面的反向代理 它的 80 端口映射到主机 我的应用程序使用 SSO 身份验证 当我使用身份提供商登录时 回调 ur
  • 连接到上游时 Nginx 错误:(13:权限被拒绝)

    我在我的中收到此错误nginx error log file 2014 02 17 03 42 20 crit 5455 0 1 connect to unix tmp uwsgi sock failed 13 Permission den
  • Nginx merge_slashes 重定向

    我在我的 Java 应用程序中使用 nginx 我的问题是 nginx 正在合并斜杠 我无法将我的网站重定向到正确的版本 例如 http goout cz cs koncerty praha 被合并到 http goout cz cs ko
  • 连接被拒绝:当uwsgi和nginx在不同容器中时

    我正在尝试设置两个 docker 容器 是的 无需 docker compose 分开 一个带有 nginx 另一个带有带有基本 Flask 应用程序的 uwsgi 我在 docker 内的同一网络中运行容器我的 nginx 配置已添加 链
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 为什么我会收到 ElasticBeanstalk::ExternalInitationError?

    我的应用程序基于 RubyOnRails 构建 并使用乘客部署为弹性 beanstalk 应用程序 我尝试向 nginx 服务器添加标头并重新启动它 这是我的配置文件 是 aws elastic beanstalk 中 ebextensio
  • 使用 DigitalOcean 在 Kubernetes 集群上为我的 Nginx-Ingress 生成通配符证书

    我遵循了这个 DigitalOcean 指南https www digitalocean com community tutorials how to set up an nginx ingress with cert manager on

随机推荐

  • 是什么让 pylint 认为我的类是抽象的?

    据我了解 Python 2 5 2 并不真正支持抽象类 为什么 pylint 抱怨这个类是 抽象类而不是引用 它会为任何具有以下功能的类执行此操作吗NotImplementedError thrown 我将每个类都放在自己的文件中 所以如果
  • 在 C++ (MFC) 应用程序和 C# 之间传递数据

    我们有一个整体式 MFC GUI 应用程序 它在 C 中的生命周期已接近尾声 我们计划用 C 构建新功能并在每个应用程序之间传递数据 问题是 在 C 和 C 之间传递数据的最佳方法是什么 Notes 两端都将有一个 GUI 前端 并且可能只
  • 将 JPanel 放置在 JFrame 中的特定位置

    我需要帮助将 JPanel 定位到 Jframe 中的特定位置 我在扩展 JFrame 的类中有一个 JPanel 我需要将此 JPanel 放在特定的 x y 位置 是这样的 public class Frame extends JFra
  • 全屏时 ALV 网格工具栏丢失

    我创建了一个简单的 ALV 网格并用数据填充了网格 现在网格显示在选择屏幕之后 我没有使用自定义容器并全屏显示网格 ALV网格对象是否有一个属性可以启用带有按钮的工具栏filter sort等 通常位于网格顶部 到目前为止 这就是我所拥有的
  • Android 4.1+ 中区域设置更改后 Activity 闪烁

    大约一年前 我已经实现了自定义区域设置选择 但在 4 1 版本发布后 用户开始抱怨活动不断闪烁 这是我正在使用的代码 从不同的答案编译 public final class TestApplication extends Applicati
  • Facebook Javascript SDK open-graph:为自定义故事添加自定义对象时出错

    我创建了一个名为 意见 的自定义对象来围绕它构建自定义故事 我正在尝试使用 javascript sdk 从我的网站添加一些应用程序拥有的对象 facebook 给我的示例代码是 FB api me objects namespace op
  • 禁用特定包的日志记录

    我正在我的应用程序中实现 python 日志记录 并且我希望能够利用 默认 根设置 我想使用根设置 因为我不想在配置文件中为每个模块定义一个记录器 当我打开根记录器的调试级别日志记录时 我遇到了 QPID Python 客户端 API 的问
  • 不允许浅层更新 (git > 1.9)

    有很多答案指出 git 1 9 消除了浅层克隆的限制 尽管如此 我正在使用 2 6 1 但仍然存在以下基本问题 首先 我在某处创建一个空的存储库 cd tmp mkdir target cd target git init 然后 我浅克隆一
  • 通过 Unity 获取同一消息的多个消费者在 MassTransit 中不起作用

    我最近遇到了很多问题 因为似乎是一个错误MassTransit UnityIntegration包 主要是因为没有考虑注册名称 例如 如果我像这样注册我的课程 var container new UnityContainer Registe
  • 测试时出现“mpromise(猫鼬的默认承诺库)已弃用”错误[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直收到此错误 我决定今天修复它 但经过一个小时的尝试修复后 我可以找到解决方案 当我测试我的猫鼬用户模型时 会生成此错误 警告 Mongoose mpromise mongoose s defa
  • DOMParser 注入 DOM 但注入后不应用 css 样式表?

    我有一个小测试用例 http jsfiddle net 9xwUx 1 代码归结为以下内容 给定一个 id 为 target 的节点 var string div class makeitpink this should be pink b
  • JavaScript - 如何停止鼠标移动

    没有 jQuery 可能 如何使用 JavaScript 禁用 停止鼠标移动 该怎么做 如果鼠标被移动到 比方说 position left lt 300 禁用鼠标移动以防止进一步向该方向移动 那可能吗 Pointer Lock API 可
  • 强制 Postgres 使用 UTF8 编码安装,而不是 LATIN1?

    我正在尝试在 Vagrant 盒子上设置 CartoDB 按照此处的说明进行操作 然而 它一直失败 因为它抱怨 Postgres 已使用 Latin 1 编码安装 我不明白为什么 Postgres 这样做 因为我明确强制所有本地设置为 UT
  • 列出在线 FTP 目录中的所有文件到列表视图 C#

    我和其他正在阅读此内容的人如何将在线目录中的所有文件列出到列表视图 这是要列出的本地目录的代码我想知道是否有一种方法可以连接到 FTP 网站并列出文件 FolderBrowserDialog folderPicker new FolderB
  • Facebook:安全错误,该网站的安全证书存在问题

    某些用户在 Android Facebook 浏览器中查看链接时会收到此错误 我们的 SSL 是最新且有效的 而且它不会发生在桌面浏览器或 iOS Facebook 应用程序中 这可能有两件事 您网站上的证书无效 或者可能链在某处损坏 如t
  • html标签使用大写字母是不是不好?

    最佳实践是什么 or 为什么我们应该坚持某一特定案例 然而 所有浏览器似乎都会解释这两种情况并返回预期的输出 小写的 要求 是 xHTML 的遗产 xHTML 明确要求它 另一方面 普通的旧 HTML 不遵循 XML 严格的结构要求 因此没
  • 如何在 VS 2010 中出现第一个错误时停止 C# 编译(VS 2008 宏不起作用)!

    新的信息 这个问题已经被在这里再次询问并且已经正确地诺亚 理查兹回答使用适用于 VS 2010 的解决方案 在工作中 我们有一个包含 80 多个项目的 C 解决方案 VS 2010 中可以吗自动地一旦遇到错误就停止编译 而不是尽可能继续并在
  • 当我在 4.0 中构建 EF 模型时,将其更新为使用 4.1

    我在 EF 4 0 中构建了 EF 模型 然后安装了包含新 DBContext 接口的 4 1 升级版 如何更新我的模型以使其使用 4 1 的功能 谢谢 您可以将 DbContext 与 EDMX 模型结合使用 安装 EFv4 1 后 您应
  • jqplot 并排堆积条形图

    是否可以使用 jqplot 实现并排堆叠条形图 例如 X 轴是给定的月份 每个月都会有一定数量的堆叠条形 像这样的东西 注意 我要求的是与普通堆叠图表不同的东西 请查看图片以更好地理解我想要做什么 没有人为 jqplot 创建此功能 Thi
  • 403 禁止 - Nginx - 使用正确的凭据

    我正在尝试用密码保护 Nginx 支持的站点上的目录 其中包含 phpMyAdmin MemcacheMyAdmin 和更多管理实用程序等内容 该目录位于我网站的根目录中 domain com control 我的服务器上的绝对路径位于 h