nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

一,环境阐明

服务器体系:centos7

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

域名:bjubi.com

简略进程流程: 具有一台服务器(省掉)》恳求注册域名(省掉)》恳求免费ssl安全证书》Centos装置Nginx》Nginx装备ssl》网站https拜访成功

二,域名解析到服务器

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

主机记载这儿挑选@,记载值便是服务器ip地址,承认。

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

三,恳求ca证书

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

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

挑选“免费版DV SSL”,点击当即购买:

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

然后点去付出:

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

最终承认付出:

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

就会回到办理界面:

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

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

阐明:因为咱们这儿恳求的是开发版免费证书,所以一个证书仅支撑一个域名认证,不支撑通配符。

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)
等候几分钟,证书状况变为“已签发”后,证书就恳求成功了。

四,下载证书

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

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

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

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

记载以下内容,为了一瞬间装备nginx用:

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

下载的文件有两个:

1,214292799730473.pem

2,214292799730473.key

五,服务器装置,装备nginx

这儿装置

留意:这儿装置Nginx的进程省掉了,假如需求具体的装置Nginx教程,能够参阅:Nginx系列教程(1)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端口敞开才干拜访到。

nginx装备ssl证书完成网站https拜访(免费ssl证书请求)

短少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

运转成功!!

往期文章

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装备规矩具体阐明