0

0

如何使用Nginx实现HTTP基础认证

WBOY

WBOY

发布时间:2023-06-10 10:36:14

|

2986人浏览过

|

来源于php中文网

原创

nginx是一个高性能、可靠的web服务器和反向代理服务器。除了其强大的负载均衡和缓存功能外,nginx还支持http基础认证。http基础认证是一种简单的身份验证方法,通过在请求头中添加用户名和密码来验证用户身份。在这篇文章中,我们将学习如何使用nginx实现http基础认证。

一、设置用户名和密码

首先,我们需要创建一个密码文件。我们可以使用htpasswd命令来创建这个文件。htpasswd是一个用于管理HTTP基础认证密码的命令行工具。

我们可以在终端中使用以下命令创建一个密码文件:

htpasswd -c /etc/nginx/.htpasswd username

其中,-c表示创建一个新的密码文件,/etc/nginx/.htpasswd是密码文件的路径,username是我们要添加的用户名。在运行此命令后,系统会提示你输入密码。输入密码后,htpasswd会将密码哈希后存储到密码文件中。

如果您要向密码文件中添加额外的用户,请使用以下命令:

htpasswd /etc/nginx/.htpasswd username2

这个命令没有-c选项,因为我们的密码文件已经存在。输入命令后,系统会提示您输入密码。输入后,htpasswd会将用户名和密码哈希并添加到密码文件中。

二、在Nginx中应用基础认证

现在,我们已经创建了一个包含用户名和密码哈希的密码文件。接下来,我们需要在Nginx中应用HTTP基础认证。

我们需要在server块或location块中添加以下指令:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

第一个指令告诉Nginx对请求进行基本认证,并在弹出的登录框中显示“Restricted”作为描述信息。

第二个指令告诉Nginx使用/usr/share/nginx/.htpasswd文件来验证用户。

国洋商务通
国洋商务通

Gyb2b V1.01免费版可终身使用,是一款功能强大的B2B电子商务应用软件。该软件不仅更新和修改了V1.0相关功能,更是采用了目前互联网上最流行的LAMP组合(Linux+Apache+Mysql+PHP)开发完成,模板技术实现了界面与代码的有效分离,用户可以快速地在此基础上编译模板;提供B2B电子商务应用最常见的求购、供应、商品、公司库、行业资讯、商圈、资信认证、在线交易、交易评分、留言、搜

下载

例如,我们可以在Nginx的default服务器块中添加以下代码:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

现在,我们已经成功地为我们的Nginx服务器添加了基本认证。

三、测试 HTTP 基础认证

现在我们来测试一下刚刚设置的认证功能。我们可以使用curl或Firefox等工具测试。

使用curl测试:

curl -I http://localhost

命令行会提示您输入用户名和密码。输入正确的用户名和密码后,您可以看到HTTP响应头中包含以下代码:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
...

使用Firefox测试:

在Firefox中输入服务器地址http://localhost。Firefox将弹出一个包含“Restricted”字样和描述的窗口,提示您输入用户名和密码。输入正确的用户名和密码后,您将被重定向到您的服务器默认网页。

总结

本文介绍了如何使用Nginx实现HTTP基础认证。HTTP基础认证是一个简单但有效的身份验证方法,可用于保护Web服务器的敏感资源。通过首先使用htpasswd命令创建密码文件,然后在Nginx配置中应用基本认证指令,我们可以轻松地为我们的Nginx服务器添加HTTP基础认证。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

68

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

127

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

85

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

40

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

47

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号