Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nginx实战教程(9)Nginx配置SSL证书实现https访问

Nginx实战教程(9)Nginx配置SSL证书实现https访问

原创
作者头像
haikangweishi
修改于 2020-04-08 09:56:21
修改于 2020-04-08 09:56:21
2.6K0
举报

本文主要记录Nginx怎么配置SSL证书,前提是Nginx安装成功和SSL证书已经获取。

在我们下载的证书文件中有一个Nginx的文件夹,这里面的两个文件都是需要的。我们需要把这个两个文件上传到 linux 服务器中,推荐放到/etc/ssl/目录下

然后我们需要去找到nginx的配置文件。 

代码语言:txt
AI代码解释
复制
ps -ef | grep nginx

可以看到 nginx的目录是 /usr/local/nginx

那么我们需要找到 nginx.conf文件并修改

代码语言:txt
AI代码解释
复制
cd /usr/local/nginx/conf
代码语言:txt
AI代码解释
复制
vim nginx.conf

我们需要在 http 中去添加一个server节点,如下所示。如果你不习惯在linux中修改,把nginx.conf这个下载到本地修改完成再上传也是一样的。

如果用户使用的是http协议进行访问,那么默认打开的端口是80端口,所以我们需要做一个重定向,我们在上一个代码块的基础上增加一个server节点提供重定向服务。

代码语言:txt
AI代码解释
复制
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;
    }
}

万事俱备,只欠重启。

代码语言:txt
AI代码解释
复制
/usr/local/nginx/sbin/nginx

结果一重启,duang~出错了。

nginx:emergunknown directive ssl,就是这个错误提示

因为我们配置这个SSL证书需要引用到nginx的中SSL这模块,然而我们一开始编译的Nginx的时候并没有把SSL模块一起编译进去,所以导致这个错误的出现。

1:我们先来到当初下载nginx的包压缩的解压目录,如果你是看小编写的教程安装的,解压目录应该在“/data/”目录下。

2:来到解压目录下后,按顺序执行一下命令:

代码语言:txt
AI代码解释
复制
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会重新覆盖的。

代码语言:txt
AI代码解释
复制
make

4:在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。

代码语言:txt
AI代码解释
复制
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模块成功。执行

代码语言:txt
AI代码解释
复制
cd /usr/local/nginx/

./sbin/nginx -v

即可看到如下图:

最后如果出现如上图,则SSL模块添加到Nginx的编译好了,这次重新启动则OK了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nginx系列教程(5)如何保障nginx的高可用性(keepalived)
一个机器可以绑定多个IP,可以在Nginx上使用keepalived绑定一个虚拟IP,当某一台Nginx出现问题,这个虚拟IP就会自动转移到另一台。
haikangweishi
2020/04/03
2.1K0
都2021年了还不会在CentOS7上使用pyenv搭建Django环境吗?
pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.
查理不是猹
2021/12/17
5470
【玩转腾讯云】我在腾讯云从域名申请到网站备案的操作攻略
最近因为工作需要开发一款微信小程序,在小程序中要发起http请求的话必要在微信小程序管理后台配置可信域名,微信对域名有2点核心的要求:带https的域名和已经ICP备案的域名。公司资源有限给不到啥支持,想起来我在腾讯云上有个域名一直闲置,于是打算拿这个域名下手。
HOHO
2021/04/23
30.5K4
【玩转腾讯云】我在腾讯云从域名申请到网站备案的操作攻略
TKE nginx-ingress 开启ip白名单限制和透传client源IP
最近TKE迎来了nginx-ingress 插件的到来,此篇文章将结合TKE nginx-ingress插件,实现IP白名单配置和service透传client源IP的功能
惠绍奇
2020/12/30
4.9K0
k8s的持续集成(jenkins+gitlab+k8s)
root@k8s-master1 docker.yml# kubectl get node
不凡
2021/08/19
4K1
windows单机搭建k8s环境——部署ingress
ingress是k8s对外暴露服务的一种方式。当我们使用购买的公有云服务时,平台已经提供部署好的ingress,用户只需要添加挂载策略即可。
DifficultWork
2021/04/06
1.8K0
Case 5 一键安装JS SDK 网页版WebRTC 网页 SIP客户端 语音通话,可以做web坐席
服务器环境要求 CentOS 6.9 64bit 下载脚本文件并安装 wget http://voip-sdk.oss-cn-beijing.aliyuncs.com/rtc_sip/install_rtc_sip.sh wget http://voip-sdk.oss-cn-beijing.aliyuncs.com/rtc_sip/python_install.sh #yum -y install dos2unix #dos2unix ./*.sh chmod a+x ./*.sh ./inst
qzlink.com
2020/07/01
1.9K0
【日志服务CLS】初识腾讯 CLS 高速检索与 Nginx 预报警服务~
和尚虽然是移动端开发,但对于 Nginx 负载均衡稍稍有些了解,而曾经的毕业论文就是以 Nginx 为研究方向进行的,今天根据 腾讯云+社区 活动,简单尝试一下 Nginx 日志服务;
阿策小和尚
2021/05/18
1.3K1
开源小社区-mastoson的搭建
双十一会场传送门 https://cloud.tencent.com/act/double11
纯之
2021/11/24
1.4K0
在Mac电脑上用VMware Fusion安装Windows7虚拟机
链接: https://pan.baidu.com/s/1Ov033tnnYl-LoQcJrpU8DA
Action
2021/03/26
4K0
在Mac电脑上用VMware Fusion安装Windows7虚拟机
【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter
【腾讯云】关于Windows Server 2008 R2 企业版 SP1 64位公共镜像下线通知
大大大黑白格子
2020/03/26
10.4K18
【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter
PHPStudy + VSCode 进行 PHP 断点调试
文件->首选项->设置->扩展->php->validate:executable path
Action
2021/08/12
2.3K0
PHPStudy + VSCode 进行 PHP 断点调试
使用Xcode配置OpenCV环境
M1芯片的Mac安装opencv需要专门去找对应的版本去下载。这里稍有不慎,坑会比较多。
AlanWalker
2022/03/16
2.4K0
【玩转腾讯云】用eclipse跑通腾讯云JavaSDK
https://www.oracle.com/java/technologies/javase-jdk13-downloads.html
大大大黑白格子
2020/03/27
17.1K0
【玩转腾讯云】用eclipse跑通腾讯云JavaSDK
基于声网的音视频SDK和FreeSWITCH开发WebRTC2SIP Gateway 报文设计 (二)
上一篇我们提到,常用的SIP 信令有:1注册、2振铃、3呼叫、4接听、5挂断、6取消
qzlink.com
2020/07/01
1.1K0
若依前后台框架,下载运行,若依系统生成代码
1、前置工具安装 jdk 1.8 redis (缓存数据库) mysql idea (后端开发工具) nodejs (js前端开发平台,本文主要用到包管理工具 npm) vscode (前端开发工具) git (版本管理工具) 下载 [https://gitee.com/y\_project/RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 2、运作方式 [image.png] 3、后台导入,设置 [image.png] [image.png] [image
用户7957495
2021/08/09
1.6K0
若依前后台框架,下载运行,若依系统生成代码
Windows下安装MongoDB
下一步安装 "install mongoDB compass" 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:https://www.mongodb.com/download-center/compass。
Action
2021/09/14
1K0
【技术创作101训练营】- 前后端分离模式下如何保证开发人员不打架?
上传ppt很多颜色被改变了,如果评委老师想看原版的话,可以看pdf,麻烦了,谢谢。
手撕代码八百里
2021/01/20
1.1K3
【技术创作101训练营】- 前后端分离模式下如何保证开发人员不打架?
excel 的条件格式(二)
使用条件格式中的数据条可以非常方便地对一定区域内的单元格的数值进行可视化。照着以下步骤执行,便可以添加数据条。
mr.songw
2021/02/04
1.6K0
excel 的条件格式(二)
excel 的条件格式(三)
在 excel 中,使用色阶可以很方便地对一定区域内单元格的值进行可视化,渐变的颜色表示单元格中值的大小。照着以下步骤,便可以添加色阶。
mr.songw
2021/02/07
2.5K0
excel 的条件格式(三)
推荐阅读
相关推荐
Nginx系列教程(5)如何保障nginx的高可用性(keepalived)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档