Nginx 配置 ngx_http_auth_basic_module 认证访问 Web​​​​​​​

12 篇文章 1 订阅

Nginx 配置 ngx_http_auth_basic_module 认证访问 Web

在互联网分享时代,我们使用Nginx建立了一个网站、一个网络目录;但是有的时候这些东西我只想分享给熟悉的人,不想让其他人访问。虽然现在有很多的开源程序,方法可以做到我所有的要求。但是我就是喜欢折腾。现在就利用 Nginx 的 ngx_http_auth_basic_module 模块配置一个网页的认证登录。只有输入正确账号和密码才可以访问。如下图,访问网站时提示需要授权;

lnmp1.6 的 Nginx 1.16.1默认已经编译了 ngx_http_auth_basic_module 模块,访问的账号和密码需要  httpd-tools 来生成,所以只需要安装 httpd-tools 和简单的配置 Nginx Conf 即可实现以上的效果。

0x01 确认是否安装 httpd-tools

  1. cd / # 进入根目录;
  2. rpm -qa | grep httpd # 检查 httpd-tools 版本,如果已经安装则回显版本信息;
  3. yum -y install httpd-tools # 如果没有安装,执行此命令进行安装;

0x02 创建授权用户和密码

安装完httpd-tools后使用 htpasswd 来生成授权用户和密码;

  1. mkdir /user # 在根目录创建一个 user 的目录存放 htpasswd 生成用户和密码文件,也可以放在其他地方;
  2. htpasswd -c -d /user/uwd_file pangzhan # htpasswd 创建一个名为uwd_file的文件,增加用户pangzhan,根据提示输入两次密码;
  3. htpasswd -d /user/uwd_file test # 创建第二个用户test,根据提示输入两次密码,多个用户以此类推;
  4. htpasswd -d /user/uwd_file pangzhan # 重置用户 pangzhan 的密码,注意参数的大小写;
  5. htpasswd -D /user/uwd_file test # 删除用户 test 注意参数的大小写;

htpasswd 参数解释:

  • -c Create a new file. # 创建一个新文件。
  • -n Don’t update file; display results on stdout. # 不要更新文件; 显示输出结果。
  • -b Use the password from the command line rather than prompting for it. # 使用命令行中的密码而不是提示输入密码。
  • -i Read password from stdin without verification (for script usage). # 从stdin读取密码而不进行验证(用于脚本)。
  • -m Force MD5 encryption of the password (default). # 强制密码的MD5加密(默认)。
  • -B Force bcrypt encryption of the password (very secure). # 强制密码加密(非常安全)。
  • -C Set the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31).
    # 设置用于bcrypt算法的计算(更高更安全但更慢,默认值:5,有效:4到31)
  • -d Force CRYPT encryption of the password (8 chars max, insecure). # 强制CRYPT加密密码(最多8个字符,不安全)
  • -s Force SHA encryption of the password (insecure). # 强制密码SHA加密(不安全)
  • -p Do not encrypt the password (plaintext, insecure). # 不加密密码(明文,不安全)
  • -D Delete the specified user. # 删除指定的用户
  • -v Verify password for the specified user. # 验证指定用户的密码。

0x03 配置 Nginx Conf 配置

将以下 ngx_http_auth_basic_module 配置参数,添加到站点 Nginx Conf 文件中

​
location / {
auth_basic “Test Nginx Basic Auth”; # 将 “Test Nginx Basic Auth” 改为 off 关闭认证,也可改为你想要的内容;
auth_basic_user_file /user/uwd_file; # 授权用户和密码文件的路径;
}
​

开启认证配置,并可以写认证标题

关闭认证配置,将标题改为 off

要在 Nginx 中安装 ngx_http_mp4_module 模块,需要按照以下步骤进行操作: 1. 确认 Nginx 是否支持 ngx_http_mp4_module 模块 首先需要确认 Nginx 是否支持 ngx_http_mp4_module 模块,可以使用以下命令查看 Nginx 是否已经编译了该模块: ``` nginx -V 2>&1 | grep -o with-http_mp4_module ``` 如果输出结果为 with-http_mp4_module,则说明 Nginx 已经编译ngx_http_mp4_module 模块;如果输出结果为空,则说明 Nginx 没有编译该模块。 2. 下载 ngx_http_mp4_module 模块 如果 Nginx 没有编译 ngx_http_mp4_module 模块,需要下载该模块并添加到 Nginx 中。可以从 Github 上下载该模块,链接为:https://github.com/kaltura/nginx-vod-module。 可以使用以下命令将 ngx_http_mp4_module 模块下载到 /opt 目录下: ``` cd /opt git clone https://github.com/kaltura/nginx-vod-module.git ``` 3. 编译 Nginx 并添加 ngx_http_mp4_module 模块 在编译 Nginx 时需要添加 --add-module=/opt/nginx-vod-module 参数来指定 ngx_http_mp4_module 模块所在的目录,具体命令如下: ``` ./configure --prefix=/usr/local/nginx --add-module=/opt/nginx-vod-module make make install ``` 4. 配置 NginxNginx配置文件中添加以下内容,即可使用 ngx_http_mp4_module 模块: ``` location /video/ { mp4; mp4_buffer_size 1m; mp4_max_buffer_size 5m; } ``` 其中,/video/ 是视频文件所在的目录。mp4 是 ngx_http_mp4_module 模块提供的指令,表示该目录下的文件都是 MP4 格式的视频文件。 mp4_buffer_size 和 mp4_max_buffer_size 是 ngx_http_mp4_module 模块提供的两个参数,用于控制视频文件的缓存大小。 5. 重启 Nginx 完成以上步骤后,需要重启 Nginx 使配置生效: ``` nginx -s reload ``` 至此,ngx_http_mp4_module 模块安装完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值