Nginx实战案例之Nginx配置SSL证书
本文主要记录Nginx怎么配置SSL证书,前提是Nginx安装成功和SSL证书已经获取。
在我们下载的证书文件中有一个Nginx的文件夹,这里面的两个文件都是需要的。我们需要把这个两个文件上传到 linux 服务器中,推荐放到/etc/ssl/
目录下
然后我们需要去找到nginx的配置文件。
ps -ef | grep nginx
可以看到 nginx的目录是 /usr/local/nginx
那么我们需要找到 nginx.conf文件并修改
cd /usr/local/nginx/conf
vim nginx.conf
我们需要在 http 中去添加一个server节点,如下所示。如果你不习惯在linux中修改,把nginx.conf这个下载到本地修改完成再上传也是一样的。
如果用户使用的是http协议进行访问,那么默认打开的端口是80端口,所以我们需要做一个重定向,我们在上一个代码块的基础上增加一个server节点提供重定向服务。
http{ #http节点中可以添加多个server节点 server{ #监听443端口 listen 443; #对应的域名,把baofeidyz.com改成你们自己的域名就可以了 server_name baofeidyz.com; ssl on; #从腾讯云获取到的第一个文件的全路径 ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt; #从腾讯云获取到的第二个文件的全路径 ssl_certificate_key /etc/ssl/2_baofeidyz.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。 location / { #文件夹 root /usr/local/service/ROOT; #主页文件 index index.html; } } server{ listen 80; server_name baofeidyz.com; rewrite ^/(.*)$ https://baofeidyz.com:443/$1 permanent; } }
万事俱备,只欠重启。
/usr/local/nginx/sbin/nginx
结果一重启,duang~出错了。
nginx:[emerg]unknown directive ssl,就是这个错误提示
因为我们配置这个SSL证书需要引用到nginx的中SSL这模块,然而我们一开始编译的Nginx的时候并没有把SSL模块一起编译进去,所以导致这个错误的出现。
1:我们先来到当初下载nginx的包压缩的解压目录,如果你是看小编写的教程安装的,解压目录应该在“/data/”目录下。
2:来到解压目录下后,按顺序执行一下命令:
cd /data/nginx-1.10.1 //这个命令是进入下载解压的 nginx 文件夹,看你的实际路径 ./configure --with-http_ssl_module
重新添加这个ssl模块
注: 执行以上一条命令出现这个错误(./configure:错误:SSL模块需要OpenSSL库。),原因是因为缺少了OpenSSL,那我们再来安装一个即可执行:yum -y install openssl openssl-devel 等待OpenSSL的安装完成后,再执行./configure
3:执行make命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖的。
make
4:在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak //备份,备份则不用执行 cp objs/nginx /usr/local/nginx/sbin/nginx
出现错误,删除掉/usr/local/nginx/sbin/下的 nginx 再复制过去即可
5:最后我们来到Nginx安装目录下,来查看是否有安装ssl模块成功。执行
cd /usr/local/nginx/ ./sbin/nginx -v
即可看到如下图:
最后如果出现如上图,则SSL模块添加到Nginx的编译好了,这次重新启动则OK了。
往期文章
Nginx系列教程(1)nginx基本介绍和安装入门
Nginx系列教程(2)nginx搭建静态资源web服务器
Nginx系列教程(3)nginx缓存服务器上的静态文件
Nginx系列教程(4)nginx处理web应用负载均衡问题以保证高并发
Nginx系列教程(5)如何保障nginx的高可用性(keepalived)
Nginx系列教程(6)nginx location 匹配规则详细解说
Nginx系列教程(7)nginx rewrite配置规则详细说明
Nginx系列教程(8)nginx配置ssl证书实现网站https访问
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
排查tomcat服务器CPU使用率过高
排查tomcat服务器CPU使用率过高 tomcat要运行依赖于JDK,tomcat服务器的CPU使用率过高,大多都是因为部署的web程序的问题。 一、现象描述在一次线上环境,前台访问页面的速度越来越慢,从浏览器F12中看到发出的请求都是pengding的状态。 二、排查过程我这里tomcat部署在linux环境中。下面的排查过程均在linux下进行。 1、排查后台服务查看tomcat的后台日志,发现日志正常打印,未发现异常信息;把要执行的SQL复制出来,放到mysql的客户端执行,发现sql运行正常且查询速度正常。 通过上面的排查发现要访问的功能正常,排除是当前功能造成的原因。 2、排查服务器1、找出耗CPU的进程使用top命令查看特定用户(user1)的内存、cpu及各进程的信息, top -u user1使用上面的命令,可以看到下面的信息, 从上面可以看到存在一个java的进程,由于我这里没有其他的java相关的进程,这里可以判断为tomcat的进程,这里可以看到PID为47787,通过%CPU、%MEM分别表示CPU、内存的使用率,由于我这里问题已经解决,所以看到CPU的使用率...
- 下一篇
设计模式-责任链模式
理解 责任链的执行序列是一环连着一环,后一环的执行依赖前一环的执行,层层递进. 流程图 组成部分 链条:负责承前启后; 链条上的环:执行业务逻辑,决定是否继续执行下一个环(有的情况由链条决定); 执行流: 前期:由外层到里层; 后期:由里层到外层 特点 链条上相邻的环之间会影响,影响入参和出参; 每个环负责相对独立的任务,比如有的负责字符编码设置,有的负责流的编码和解码(比如gzip),有的负责记录日志等 实例 一个简单的 demo 项目代码 链条类 public class DaoFilterChain { private List<IFilter> filterList = new ArrayList<>(); private int index = 0; private boolean hasAddDefaultFilter = false; public DaoFilterChain addFilter(IFilter filter) { if (hasAddDefaultFilter) { throw new RuntimeException("自定义...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启