用户认证——Nginx延伸

用户认证
沿用之前的搭建nginx服务器,通过调整nginx服务端配置,实现以下目标:

  1. 访问web页面需要进行用户认证
  2. 用户名为:tom,密码为:123456

方案:通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。如图所示:
在这里插入图片描述
步骤一
修改Nginx配置文件
1)修改/usr.local/nginx/conf/nginx.conf
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
… …
server {
listen 80;
server_name localhost;
auth_basic “Input Password:”; //认证提示符信息
auth_basic_user_file “/usr/local/nginx/pass”; //认证的密码文件
location / {
root html;
index index.html index.htm;
}
}
2)生成密码文件,创建用户及密码
使用htpasswd命令创建文件,需要确保系统中已经安装了httpd-tools。
[root@proxy ~]# yum -y install httpd-tools
[root@proxy ~]# htpasswd -c /usr/local/nginx/pass tom //创建密码文件
New password:
Re-type new password:
Adding password for user tom
[root@proxy ~]# htpasswd /usr/local/nginx/pass jerry //追加用户,不使用-c选项
New password:
Re-type new password:
Adding password for user jerry
[root@proxy ~]# cat /usr/local/nginx/pass
3)重新加载配置
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件
#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
步骤二
1)登录192.168.4.10客户端主机进行测试
如果使用firefox火狐浏览器,注意在ssh远程的时候一定要加-X选项。
或者直接使用真实主机的火狐也可以
[root@client ~]# firefox http://192.168.4.5 //输入密码后可以访问

Nginx是一款高性能的Web服务器软件,它支持SSL/TLS协议,可以为Web应用程序提供安全的访问。本文将介绍如何在Nginx上开启SSL模块,并配置SSL证书,使得Web应用程序支持HTTPS访问。 1. 安装SSL模块 在编译Nginx的时候,需要开启SSL模块。可以在编译选项中加入--with-http_ssl_module参数来开启SSL模块。如果使用的是预编译的二进制包,可以通过查看nginx.conf文件来确定是否开启了SSL模块。如果存在以下配置项,则说明SSL模块已经开启。 ``` listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; ``` 2. 配置SSL证书 SSL证书用于加密网站和客户端之间的通信,防止敏感信息在传输过程中被窃取。可以购买SSL证书,也可以使用免费的证书,例如Let's Encrypt。 在配置SSL证书之前,需要先生成证书和私钥。可以使用如下命令生成自签名证书和私钥。 ``` openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt ``` 生成的server.key和server.crt文件分别是私钥和证书。接下来,需要将证书和私钥拷贝到Nginx配置文件所在的目录。 ``` cp server.crt /etc/nginx/ cp server.key /etc/nginx/ ``` 然后,在Nginx配置文件中添加以下配置项,指定证书和私钥的路径。 ``` ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; ``` 3. 配置SSL协议和加密算法 在Nginx配置文件中,可以配置SSL协议和加密算法。可以使用如下配置项指定SSL协议。 ``` ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ``` 可以使用如下配置项指定加密算法。 ``` ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ``` 4. 配置HTTPS监听端口 在Nginx配置文件中,可以使用如下配置项开启HTTPS监听端口。 ``` server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; location / { # 配置Web应用程序的根目录 root /var/www/html; index index.html; } } ``` 在以上配置中,listen 443 ssl指定了HTTPS监听端口,并且ssl_certificate和ssl_certificate_key指定了SSL证书和私钥的路径。location /用于配置Web应用程序的根目录。 5. 重启Nginx服务 完成以上配置后,需要重启Nginx服务,使得配置生效。 ``` service nginx restart ``` 通过以上步骤,就可以在Nginx上开启SSL模块,并配置SSL证书,使得Web应用程序支持HTTPS访问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值