Nginx服务的ssl认证和htpasswd认证

默认Nginx是没有ssl模块的,需要在编译安装的时候添加上ssl模块!

首先是需要安装Nginx服务,这里我们不做详细介绍,具体安装可以参考我的“Nginx介绍及安装配置”。

使用Openssl生成证书

1、生成RSA密钥的方法

[[email protected] conf]# openssl genrsa -des3
-out kell.key 1024

Generating
RSA private key, 1024 bit long modulus

.++++++

..++++++

e
is 65537 (0x10001)

Enter pass phrase for kell.key:

Verifying - Enter pass phrase for kell.key:

2、生成一个证书请求

[[email protected] conf]# openssl req -new -keykell.key -out kell.csr

这里会要求输入省份,国家等一些信息,在email要输入域名后缀一样,密码是上一步输入的密码

3、拷贝一个不需要输入密码的密钥文件

[[email protected] conf]# openssl rsa -in kell.key -out kell_nopass.key

Enter pass phrase for kell.key:

writing
RSA key

密码输入上一次输入的密码

4、自己签发证书

[[email protected] conf]#openssl
x509 -req -days 365 -in kell.csr
-signkey kell.key -out kell.crt

配置Nginx配置文件

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

#listen       80;

listen       443;

ssl on;

ssl_certificate
/application/nginx/conf/kell.crt;

ssl_certificate_key
/application/nginx/conf/kell_nopass.key;

server_name  www.etiantian.org;

location / {

root   html/www;

rewrite ^/(.*) https://$host/$1 permanent;

index  index.html index.htm;

#rewrite ^/(.*) https://$host/$1 permanent;

}

}

通过浏览器https就可以访问了,如果需要rewrite,需要配置rewrite

通过htpasswd设置Nginx认证访问

由于htpasswd是http服务带的命令,所以我们可以安装http服务来得到这个命令,也可以只安装httpd-tools来安装这个命令,这样就不用安装整个http服务

安装htpasswd命令工具

[[email protected]
conf]# yum install httpd-tools

[[email protected]
conf]# which htpasswd

/usr/bin/htpasswd

创建账号&密码

[[email protected]
conf]# htpasswd -bc /application/nginx/conf/htpasswd wangzhan 123456

Adding
password for user wangzhan

[[email protected]
conf]# chmod 400 /application/nginx/conf/htpasswd

[[email protected]
conf]# chown nginx /application/nginx/conf/htpasswd

[[email protected]
conf]# cat /application/nginx/conf/htpasswd

wangzhan:b2sfluv5673CE

在配置文件中添加下面两行

auth_basic        "wangzhan
123456";

auth_basic_user_file
/application/nginx/conf/htpasswd;

重启服务,使用网站访问,会发现出现输入认证口令对话框

时间: 2024-08-03 15:27:53

Nginx服务的ssl认证和htpasswd认证的相关文章

nginx服务做用户认证和基于域名的虚拟主机

实验一.用nginx怎么实现用户访问时的认证 一.目标        通过调整Nginx服务端配置,实现以下目标: 访问Web页面需要进行用户认证 用户名为:tom,密码为:123456 二.方案         通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证.    最后使用htpasswd命令创建用户及密码即可,服务端:192.168.4.102,客户端:192.168.4.101 三.实施步骤(nginx服务安装见我的"搭建ngin

图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证

1. 安装 nginx 1.1 nginx 包及其依赖包下载 出于模块的依赖性,Nginx 依赖以下三个包: gzip 模块需要 zlib 库(http://www.zlib.net/): rewrite 模块需要 pcre 库(http://www.pcre.org/): ssl 功能需要 openssl 库(http://www.openssl.org/): 分别下载它们的最新稳定版(截至本文最新稳定版分别是 zlib-1.2.8.tar.gz.pcre-8.36.tar.gz.openss

Nginx之让用户通过用户名密码认证访问web站点

有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问. 那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些不速之客. 一.查看当前系统参数 uname -r //查看系统内核版本号 3.13.0-32-generic cat /etc/lsb-release //查看系统版本号 Ubuntu 14.04.1 LTS 二.通过htpasswd命令生成用户名及对应密码数据库文件    htpasswd命令

WEB服务器-Nginx之虚拟主机、日志、认证及优化

WEB服务器-Nginx之虚拟主机.日志.认证及优化 概述 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一

rails+apache2+passenger+ssl实现https双向认证通信

rails+apache2+passenger+ssl实现https双向认证通信 环境: 系统:Centos7 服务器:apache(httpd) 2.4.6 制作工具:openssl 1.0.1 Rails版本 :4.1.6 准备工作: 安装apache和openssl #yum install  httpd  httpd-devel httpd-tools #yum install openssl 安张mod_ssl #yum install mod_ssl 一.创建根证书 1创建CA私钥

nginx实现访问网站或目录密码认证保护

添加目录登陆认证 location / { auth_basic "提示"; auth_basic_user_file /usr/conf/htpasswd; } auth_basic 指令包含一个具有测试用户名和密码的HTTP基本认证,指定的参数将用于认证域.如果将值设置为“off”则忽略下级指令继承的动作. auth_basic_user_file 指令为验证域指定了密码文件,0.6.7版本以后这里指定的文件是nginx.conf所在目录的绝对路径,而不是–prefix指定的路径.

Https、OpenSSL自建CA证书及签发证书、nginx单向认证、双向认证及使用Java访问

0.环境 安装了nginx,安装了openssl 1.配置和脚本 先创建一个demo目录(位置自己选择,我选择建在nginx的目录下): mkdir /etc/nginx/ca-demo cd /etc/nginx/ca-demo 修改SSL配置openssl.cnf(也可能是openssl.conf,不知道在哪可以用find -name / openssl.cnf查找) 将dir属性改成你上一步自建的目录,不要用相对路径,会踩坑,保存,如图: 我喜欢自动化,所以写了三个如下脚本,可以直接使用:

Nginx服务配置综合实例

################################ 1.安装nginx,yum安装,编译安装 Nginx是一个免费,开源,高性能的HTTP服务器,同时也可以作为反向代理服务器,支持IMAP/POP3邮件代理服务器,支持模块化定制功能. Nginx支持三种运行模式,默认为worker模式: prefork:进程模型,两级结构,主进程master负责生成和管理子进程,每个子进程负责响应一个请求: worker:线程模型,三级结构,主进程负责生成子进程,每个子进程负责生成多个线程,每个线

Nginx服务安装从小白到精通你只差这个文件(包括各种依赖包的解释)

Nginx 安装nginx,升级 用户认证 auth_basic_user_file 虚拟主机 加密 反向代理: 源码包安装nginx yum –y install gcc pcre-devel(支持正则表达) openssl-devel(支持认证加密) #常见依赖包 useradd –s /sbin/nologin nginx #为程序创建用户 tar -xf nginx-1.8.0.tar.gz cd nginx-1.8.0 ./configure --help | grep with #查