Nginx服务的ssl认证和htpasswd认证

简介:

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

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

使用Openssl生成证书

1、生成RSA密钥的方法

[root@web01 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、生成一个证书请求

[root@web01 conf]# openssl req -new -keykell.key -out kell.csr

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

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

[root@web01 conf]# openssl rsa -in kell.key -out kell_nopass.key

Enter pass phrase for kell.key:

writing RSA key

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

4、自己签发证书

 [root@web01 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命令工具

[root@web01 conf]# yum install httpd-tools

[root@web01 conf]# which htpasswd

/usr/bin/htpasswd

创建账号&密码

[root@web01 conf]# htpasswd -bc /application/nginx/conf/htpasswd wangzhan 123456

Adding password for user wangzhan

[root@web01 conf]# chmod 400 /application/nginx/conf/htpasswd

[root@web01 conf]# chown nginx /application/nginx/conf/htpasswd

[root@web01 conf]# cat /application/nginx/conf/htpasswd

wangzhan:b2sfluv5673CE

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

    auth_basic        "wangzhan 123456";

    auth_basic_user_file /application/nginx/conf/htpasswd;

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



本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1832207,如需转载请自行联系原作者

相关文章
|
网络协议 安全 测试技术
ARP 神器:Macof 保姆级教程
ARP 神器:Macof 保姆级教程
|
分布式计算 Spark 大数据
Apache Spark中国技术交流社区历次直播回顾(持续更新)
Apache Spark中国技术交流社区,由阿里巴巴开源大数据技术团队成立,持续输出spark相关技术直播、原创文章、精品翻译,钉钉群内千人交流学习,欢迎加入。钉钉入群 https://qr.dingtalk.com/action/joingroup?code=v1,k1,jmHATP9Tk+okK7QZ5sw2oWSNLhkt2lCRvfHRdW7XhUQ=&_dt_no_comment=1&origin=11 更多视频和ppt资料请入群获得。
Apache Spark中国技术交流社区历次直播回顾(持续更新)
|
JSON 自然语言处理 数据挖掘
4.基于Label studio的训练数据标注指南:情感分析任务观点词抽取、属性抽取
4.基于Label studio的训练数据标注指南:情感分析任务观点词抽取、属性抽取
|
Linux 开发工具 数据安全/隐私保护
RISC-V ICE EVB 开发板 linux环境下烧写更新开发板镜像
ICE EVB 是基于 T-Head 自主研发的 C910 CPU 的 ICE 高性能 SoC 开发板。 本文介绍Linux环境下烧写ICE-EVB 开发板镜像,让用户快速上手。
1676 1
RISC-V ICE EVB 开发板 linux环境下烧写更新开发板镜像
|
存储 缓存 算法
如何优雅的设计一套高性能短网址服务
得益于移动互联网的蓬勃发展,自媒体日益火爆的同时其门槛也越来越低,可以说是全民自媒体。其中内容创作平台尤为火爆,比如微信公众号、微博、知乎、头条等。随之而来的就是各种「奇葩」需求,比如将长链接转换为短链接。
510 0
如何优雅的设计一套高性能短网址服务
|
消息中间件 存储 监控
Stream
Stream弥补了Redis作为MQ(message queue)技术选型上的不足之处;Redis 5.0发布的Stream相比Pub/Sub模块,Stream支持消息持久化,结合sentinel或cluster使其成为了一个比较可靠的消息队列。尽管我认为它很难成为公司MQ的技术选型产品,但是关于Stream的使用和特性(消费组),仍值得一探究竟。
1353 0
Stream
|
域名解析 弹性计算 数据可视化
使用阿里云服务器搭建网站全过程图文教程
使用阿里云服务器搭建网站全教程,包括域名注册、云服务器创建、网站Web服务器环境搭建、域名解析到云服务器、云服务器建站源码部署一直到网站上线全过程
994 0
使用阿里云服务器搭建网站全过程图文教程
|
数据可视化 数据挖掘 大数据
性感的数据可视化 —— 精讲桑基图、气泡图、南丁格尔玫瑰图
文章主要为大家介绍三个可视化故事,和他们使用的三个重要的可视化组件:桑基图、气泡图、南丁格尔玫瑰图。
1883 0
性感的数据可视化 —— 精讲桑基图、气泡图、南丁格尔玫瑰图
|
域名解析 缓存 网络协议
【CDN常见问题】CDN加速域名绑定Host到源站测试方法
概述 用户在使用CDN以后出现访问异常,在排查问题的时候,为了确认该问题是否跟源站有关,通过需要绕过CDN,直接去访问源站来对比CDN加速与未加速的访问效果。其中一种方法是更改域名解析记录,另外一种更简便的方法是直接本地Host绑定到源站去访问。
2688 0
【CDN常见问题】CDN加速域名绑定Host到源站测试方法
|
安全 容器 Cloud Native
当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?
在云原生发展趋势之下,金融行业想要应用云原生技术,安全问题是一个非常大的拦路虎,而云原生社区对安全问题的重视程度远远不够。蚂蚁金服在落地云原生的时候,解决安全问题是重中之重,经过探索与实践,我们沉淀出了一套从底层硬件到软件、从系统到应用层的全链路金融级云原生安全架构。
1201 0
当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?