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. P3106 [USACO14OPEN]GPS的决斗(最短路)

    化简:够简的了.....但是!翻译绝对有锅. 这个最短路是从n到每个点的单源最短路,也就是最短路径树. 那么,思路就很明确了.建两个图,然后跑两边SPFA,记录下最短路径. 然后,对于两点之间的边,如 ...

  2. apache+php+mysql搭建php环境

    1.首先准备解压包:zend-loader-php5.6-windows-x86_update1(nts版).php-5.6.37-nts-Win32-VC11-x86.mysql-5.5.19-wi ...

  3. linux下安装opencv3.0

    查版本gcc --version 需>4.8python 2.7+cmake --version numpy 以上是必须的 linux下安装opencv3.0<pre>https:/ ...

  4. python Tesseract安装方法

    python Tesseract安装方法 EXE可执行文件地址:http://download.csdn.net/download/whatday/7740469:下载tesseract-ocr-se ...

  5. Genymotion模拟器安装搜狗输入法

    Genymotion模拟器默认没有中文输入法,如果在一些调试中涉及到需要输入中文则必须需要安装中文输入法. 这里以搜狗输入法为例. 这里需要注意一下几点就行: 百度下载一个搜狗输入法,需要特别注意的是 ...

  6. 别翻了,这篇文章就是要让你入门java多线程!

    目录 1. 理解线程与进程 2.理解并行和并发 3.特殊的一个单线程:主线程(Main线程) 4. 创建多线程的四种方式 5.使用匿名内部类方式创建线程 6.线程安全问题 7.解决线程安全问题:线程同 ...

  7. nyoj 108-士兵杀敌(一)(数学)

    108-士兵杀敌(一) 内存限制:64MB 时间限制:1000ms 特判: No 通过数:60 提交数:221 难度:3 题目描述: 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. ...

  8. java操作RabbitMQ添加队列、消费队列和三个交换机

    假设已经在服务器上安装完RabbitMQ.我写的教程 一.发送消息到队列(生产者) 新建一个maven项目,在pom.xml文件加入以下依赖 <dependencies> <depe ...

  9. JAVA继承中子父类的构造方法

    首先,构造方法本身会有一个隐式的无参构造(默认): ①不写构造方法,类中的第一行代码事实上有一个默认的无参构造(系统会隐式为你写好) public class Student { private St ...

  10. 在linux系统下进行pip升级注意事项

    今天鼓捣爬虫的时候需要用pip安装beautifulsoup4,但是出现了错误,说我的pip版本太低,需要升级一下.刚开始我用了下面这段代码: pip install --upgrade pip 显示 ...