1.nginx的ssl

让nginx实现用https来访问网站,http是80端口,https是443端口。

https其实就是一种加密的http

2.为什么要加密

例子:在网上银行汇款,在你汇款的过程当中,你会输入银行卡的密码,如果不加密,这些数据传输的过程中就有可能被人截获,破解。

如果你使用了https,数据在传输的过程中是会加密的。即使抓到了数据包,但是无法破解出来。

知识:

http(1.1版本)  http 2(https)

3.0 怎么配置ssl?

首先得看你是yum安装的nginx还是编译安装的nginx

3.1yum安装nginx已经有参数--with-http_ssl_module

nginx -V ##查看参数

3.2 编译安装查看是否有--with-http_ssl_module (我选择的是编码编译安装的nginx)

/usr/local/nginx/sbin/nginx -V

3.3如果没有重新编译。进入nginx解压的目录

# cd /usr/local/src/nginx-1.17.0/

3.4 重新配置新的编译参数

# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

3.5 运行上面命令即可,等待配置,运行命令

# make

注:不用make install安装,不然会覆盖安装

3.6 停止nginx

# /etc/init.d/nginx stop

3.7 把刚刚编译好的nginx覆盖原有的nginx

# cp ./objs/nginx /usr/local/nginx/sbin/

3.8 查看编译的参数是否生效

# /usr/local/nginx/sbin/nginx -V 

  

4.0 如何获取ssl证书?

申请证书:

网站:(沃通)

免费的:freessl.cn

这里拿的是免费的证书

进入freessl.cn首先注册  然后输入域名申请开通,这个过程需要去添加TXT记录来证明网站是你的。

会给你一个TXT的记录

然后在你的域名解析中添加

回到freessl.cn点击验证会给你CA证书,证书,秘钥

这时候回到linux 创建ssl的目录

# mkdir /usr/local/nginx/conf/ssl/

进入ssl目录

vim CA
添加浏览器生成的CA证书

编辑证书文件

# vim bbs.crt
复制粘贴证

编辑私钥文件

# vim bbs.key
复制粘贴私钥

配置conf配置文件

server
{
listen 443 ssl;
index index.html index.htm index.php;
root /data/wwwroot/bbs.centos.com;
server_name bbs.centos.com;
ssl_certificate /usr/local/nginx/conf/ssl/bbs.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/bbs.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

检测语法重载配置

# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx -s reload

另外也可以配置成

server
{
listen 443;
index index.html index.htm index.php;
root /data/wwwroot/bbs.centos.com;
server_name bbs.centos.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/bbs.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl/bbs.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

重启nginx

# /etc/init.d/nginx restart

查看监听端口

# netstat -lntp

5.0 配置好了可以访问但是centos有防火墙还需要开放443端口

# firewall-cmd --add-port=443/tcp --permanent ##永久放行443端口
# firewall-cmd -reload #重载

现在访问域名上效果图

详细nginx配置SSL的更多相关文章

  1. nginx配置ssl加密(单双向认证、部分https)

    nginx配置ssl加密(单双向认证.部分https) nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始 ...

  2. [转帖]nginx配置ssl加密(单/双向认证、部分https)

    nginx配置ssl加密(单/双向认证.部分https) https://segmentfault.com/a/1190000002866627   nginx下配置ssl本来是很简单的,无论是去认证 ...

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

    准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...

  5. Nginx - 配置 SSL证书

    nginx 配置 ssl 证书: 在nginx配置目录创建 cert目录 放置 SSL 的证书秘钥: 也可以使用配置绝对路径 /file/cert/cert.pem server { listen s ...

  6. nginx配置ssl双向证书

    CA根证书制作 # 创建CA私钥 openssl genrsa -out ca.key 2048 #制作CA根证书(公钥) openssl req -new -x509 -days 3650 -key ...

  7. linux下nginx配置ssl证书(https)

    nginx配置ssl很简单,首先需要两个文件,一个是crt文件,另一个是key文件,如下所示: xxx.crt;  #(证书公钥)xxx.key; #(证书私钥) 把这两个文件放到nginx的conf ...

  8. nginx 配置 ssl 双向证书

    CA 根证书制作 # 创建 CA 私钥 openssl genrsa -out ca.key 2048 #制作 CA 根证书(公钥) openssl req -new -x509 -days 3650 ...

  9. Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"

    Nginx配置SSL报错 nginx: [emerg] unknown directive "ssl"     出现如图所示错误,处理办法如下 去nginx解压目录下执行 ./co ...

随机推荐

  1. NOIP模(ka)拟(chang)测试30 考试报告

    应得分:300 实得分:210 毒瘤卡常出题人,卡掉90分! T1 Return 开个副本数组sort一下,unique去重就可以啦.时间复杂度$ O(nlog2(n)) $ T2 One 其实就是约 ...

  2. [转载]2.9 UiPath中断活动Continue的介绍和使用

    一.Continue的介绍 跳过当前For Each 循环内的迭代, 结束本次循环,Continue控件只能用于For Each循环中 二.Continue在UiPath中结合For Each循环的使 ...

  3. 1000m交叉网线最简单做法

    1-3,2-6,3-1,4-7,5-8,6-2,7-4,8-5 1,2,3,4,5,6,7,8即为网线内部8跟线编号,两头颜色和数字要对应.

  4. elastalter邮件告警

    一:简介 ElastAlert是一个简单的框架,用于通过Elasticsearch中的数据异常警告,峰值或其他感兴趣的模式. 监控类型 "匹配Y时间内有X个事件的地方"(frequ ...

  5. jdk 错误1316 指定账户已存在 与 jdk1.7安装和配置环境变量 与 jdk1.8与1.7版本的切换使用

    问题:         安装JDK,提示错误信息:,指定的账号已存在. 原因:         安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除安装目录文件夹下的文件,如果只 ...

  6. Go语言Hello world(GOPATH和Go Module版)

    本文是「vangoleo的Go语言学习笔记」系列文章之一. 官网: http://www.vangoleo.com/go/go-hello-world-02/ 往期回顾: Go语言入门-你好,Go语言 ...

  7. [干货]AspNetCore熟练应用CancellationToken,CTO会对你刮目相看

    背景 已经有很多文章记录了 web程序中采用异步编程的优势和.Net异步编程的用法, 异步编程虽然不能解决查询数据库的瓶颈, 但是利用线程切换,能最大限度的弹性利用工作线程, 提高了web服务的响应能 ...

  8. 编译spark支持thriftserver

    cdh默认把spark的spark-sql以及hive-thriftserver给弃用掉了,想玩玩thriftserver,于是自己重新编译一个 官网参考: http://spark.apache.o ...

  9. Centos上通过shell脚本备份数据库

    #!/bin/bash ds=`` list=`date +%Y`/`date +%m` dname="callme" eval "mkdir -p $list" ...

  10. MySQL 5.7 - 通过 BINLOG 恢复数据

    日常开发,运维中,经常会出现误删数据的情况.误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop dat ...