nginx配置安全证书SSL(八)

本文涉及的产品
.cn 域名,1个 12个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: nginx配置安全证书SSL

一,环境说明


服务器系统:centos7


服务器IP地址:云服务器的公网IP


域名:bjubi.com


简单步骤流程: 拥有一台服务器(省略)》申请注册域名(省略)》申请免费ssl安全证书》Centos安装Nginx》Nginx配置ssl》网站https访问成功


二,域名解析到服务器


在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解析页面后选择【添加解析】按钮会弹出如下页面:


主机记录这里选择@,记录值就是服务器ip地址,确认。



三,申请ca证书


在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书。(阿里云SSL免费证书申请地址



选择“免费版DV SSL”,点击立即购买:



然后点去支付:



最后确认支付:



就会回到管理界面:



点击“补全”,输入要解析的域名,点下一步:


说明:因为我们这里申请的是开发版免费证书,所以一个证书仅支持一个域名认证,不支持通配符。



等待几分钟,证书状态变为“已签发”后,证书就申请成功了。


四,下载证书


列表中找到已签发的证书,下载:



进入下载页面,找到ngin页签中nginx配置信息,并“下载证书 for Nginx”:



记录以下内容,为了一会儿配置nginx用:



下载的文件有两个:


1,214292799730473.pem


2,214292799730473.key


五,服务器安装,配置nginx


这里安装


注意:这里安装Nginx的过程省略了,如果需要详细的安装Nginx教程,可以参考:Nginx基本介绍和安装入门(一)


登录到服务器:


$ apt-get update // 更新软件
$ apt-get install nginx // 安装nginx

六,配置ca证书


1,nginx的安装目录为:/etc/nginx/。进入目录,增加cert/文件夹,把刚刚下载的两个文件上传到cert/文件夹中。


2,在/etc/nginx/sites-enabled/下,增加bjubi.com文件。内容如下:


说明:下面的配置是对443端口和80端口进行监听,443端口要启用ssl。监听443端口的server配置可以仿照上面ca认证页面的nginx配置示例进行配置。


root节点笔者创建了一个bjubi.com/的文件夹,专门存放来自这个域名的请求以示区分。


bjubi.com/文件夹下增加一个index.html文件,里面仅仅写了一行 welcome。


server {
listen 443;
server_name bjubi.com; // 你的域名
ssl on;
root /var/www/bjubi.com; // 前台文件存放文件夹,可改成别的
index index.html index.htm;// 上面配置的文件夹里面的index.html
ssl_certificate  cert/214292799730473.pem;// 改成你的证书的名字
ssl_certificate_key cert/214292799730473.key;// 你的证书的名字
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
    index index.html index.htm;
}

}
server {

listen 80;
server_name bjubi.com;// 你的域名
rewrite ^(.*)$ https://bjubi.com:443/$1 permanent;// 把http的域名请求转成https

}


配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。


$ nginx -t // 检查nginx配置文件

配置正确后,重新加载配置文件使配置生效:


nginx -s reload // 使配置生效

至此,nginx的https访问就完成了,并且通过rewrite方式把所有http请求也转成了https请求,更加安全。


如需重启nginx,用以下命令:


$ service nginx stop // 停止
$ service nginx start // 启动
$ service nginx restart // 重启

七,访问效果


输入http:bjubi.com也会自动跳转至https页面。


说明:如果是云服务器比如阿里云ECS,需要到阿里云ECS的管理后台的安全组,修改端口过滤规则把80端口和443端口开放才能访问到。



缺少ssl_module模块


CentOS下配置Nginx的https时报错:缺少ngx_http_ssl_module


1.首先,找到Nginx安装包的位置。比如,我的是:/usr/local/sr


c/nginx-1.15.1
cd /usr/local/src/nginx-1.15.1

如果忘记安装包放哪里了,可以find命令找一下。


如果还是找不到(比如删除了)。可以查看当前Nginx的版本号,重新下载一个。


【查看Nginx版本命令】


/usr/local/nginx/sbin/nginx -V  (/usr/local/nginx/是你Nginx服务器的实际位置)

2.生成新的Nginx配置。执行


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

查看configure arguments:后边有没有值,如果有,就复制下来。


然后执行


./configure --原来有的模块(如果有的话) --with-http_ssl_module

make

3.关闭现在运行的Nginx服务器。


/usr/local/nginx/sbin/nginx -s stop

由于我的配置文件报错,缺少


nginx: emerg the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:121

所以无法关闭。于是,我尝试把新的正确的nginx.conf替换出问题的nginx.conf。


再次执行关闭,成功。


4.OK,执行最后的步骤。把编译好的nginx覆盖掉原有的nginx。


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

系统会提示是否覆盖,输入y。


我运行时,系统提示Text file busy,执行失败。


没关系!


ps -A

找到所有Nginx的进程。


Kill 1234

再次执行


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

没有报错。把正确的nginx.conf文件夹上传。


启动nginx。


./nginx -c /usr/local/nginx/conf/nginx.conf

运行成功!!




云服务器ECS地址:阿里云·云小站

相关文章
|
9天前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
46 4
|
5天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
108 0
|
10天前
|
编解码 Ubuntu 应用服务中间件
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
本文介绍了在NVIDIA Jetson Nano上配置FFmpeg和Nginx的步骤,包括安装、配置和自启动设置。
69 1
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
|
4天前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
8天前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
30 7
|
10天前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
46 7
|
6天前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
51 1
|
15天前
|
存储 缓存 监控
|
15天前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
15天前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。