[服务器] 便宜的国外ssl证书购买+openssl安装设置nginx配置https访问实战

[复制链接] [添加相关主题]
烈火大地 发表于 2019-8-5 21:23:15
国内的ssl证书真的贵啊,买不起是真的,国外便宜的ssl证书还是挺多的五六十块钱一年很划算,都是品牌ssl证书,便宜的国外ssl证书有哪些如何购买和配置可能是大家最大的障碍,因为是英文的看起来费劲啊,今天就来说说在name.com上购买ssl证书并配置的实战吧。
ssl购买.jpg 这个是name网站上面的ssl证书价格,其实不贵吧,国内也有免费的证书,比如阿里云(www.aliyun.com),获得阿里云的免费证书很简单:只要域名在阿里云购买的就可以免费使用阿里云的ssl证书一年,1年到期后续签即可,阿里云的域名也不算贵,加上免费的ssl证书也是非常划算,如果空间或服务器在国内强烈建议使用阿里云的域名,搭载免费的ssl证书很爽。但是有的网站可能处于一些特殊原因需要国外的域名商或国外主机,没办法只能选择国外的,国外的name.com这个网站的域名和ssl证书都蛮便宜的,所以推荐。下面来实战国外name.com上购买ssl证书并配置网站的实战。

一、下载安装openssl工具
openssl这个工具用来生成csr证书密钥,安装在您本地电脑上即可 。下载openssl并安装,因为这个是编译好的,用起来方便,根据你自己的电脑选择32位或64位。
下载地址:http://slproweb.com/products/Win32OpenSSL.html

二、安装openssl说明:
安装时需要注意不要安装在C盘,因为在后面生成CSR的时候默认需要写入权限(如Windows 10系统C盘权限太高的问题生成不了),所以将openssl安装在非系统盘,如D盘,我安装在D盘的(我的安装路径是D:\Program Files\OpenSSL-Win64\bin)。到这一步的时候记得修改以下openssl的安装目录:


然后安装过程中的这一步,下图所示,选择“the openssl binaries(/bin) directory”,默认的是第一个,要记得改一下。


然后一直下一步,直到完成。


到此openssl安装完成。下面开始生成CSR证书验证文件。

三、使用openssl生成CSR证书请求文件
使用win+r键输入cmd打开命令提示符,转到openssl的安装目录bin目录下(我的openssl的bin目录在D:\Program Files\OpenSSL-Win64\bin,上面说了我安装在D盘的,先进入openssl的bin目录):
1.输入“d:”后回车进入D盘(注意d后面有个冒号,英文状态下哦)。
2.输入“cd D:\Program Files\OpenSSL-Win64\bin”回车,进入bin目录,下图所示。


3.输入以下代码后回车:需要注意将下面代码中的domain.key和domain.csr要改为你需要生成证书请求的域名(如dfbazhu.com,不带用www),如下图所示,我的截图已经改了哒。
  1. openssl req -new -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr
复制代码
输入上面的代码回车以后会出现以下界面:



然后需要输入一些关键信息(输入完一个后直接回车,紧接着输入下一个信息),需要输入的信息说明请见下表(按照下表中“示例”依样画瓢即可,也可参考我下面的截图哦):

字段说明示例
Country NameISO国家代码(两位字符)CN(不能为空,不能随便写!默认CN表示中国的意思,只能2个字母,如需其他国家代码可自行百度)
State or Province Name所在省份tianjin(不能为空,也可以随便写hebei、shanghai、sichuan等)
Locality Name所在城市tianjin(不能为空,随便写shijiazhuang、shanghai、chengdu、kunming或者与省份的名称一样)
Organization Name公司名称tengxun keji Inc(不能为空,随便写什么都可以,如China baidu keji gongsi)
Organizational Unit Name部门名称baidu yanfabu(不能为空,随便写什么都可以,如xiaoshou、yanfabu、sales bumen、dfgfd都可以的)
Common Name申请SSL证书的域名www.dfbazhu.com(不能为空且域名要正确!填写带www的完整域名。)
Email Address验证邮箱输入您的邮箱(可不填,但是建议填一下你的可用邮箱)
A challenge password密码留空(直接回车)

上表填写截图如下,隐去了部分打马赛克了。



直到再一次出现openssl的安装目录bin目录时即表示csr证书生成完毕:



生成完成之后就可以关闭命令提示符了,打开D:\Program Files\OpenSSL-Win64\bin目录,会看到我们刚生成的两个“csr和key”后缀的文件,下图所示,用记事本或notepad++打开刚生成的那个CSR文件:



下图所示:


先把需要的csr文件生成好,备用(另外的那个.key格式的文件注意保密,后面在nginx配置ssl时会用到)。

四、购买ssl证书绑定域名
开始前需要说明一下:为了是域名和ssl证书绑定成功,建议域名和ssl证书最好在同一个网站购买,不要把域名防止a这里ssl证书在b那里买,不在一起有时候会绑定失败。好吧,开始:进入name.com网站购买ssl证书,文章最开头处已经截图便宜的ssl证书69.33元人民币一年不是美元!选择您喜欢的购买,因为不能使用支付宝或微信支付,所以您需要有一张信用卡(银联储蓄卡也可以)或PayPal账号用于支付。这个太长我就不截图了。购买成功之后进入name.com中“我的产品”,点击刚买的ssl证书,绑定域名,下图所示(我的域名也在name.com上),所以直接选择即可:

ssl证书绑定域名

ssl证书绑定域名


输入csr代码。完成上面的第一步接下来就是需要输入第三步中用openssl生成的csr代码了,没有的话就会卡在这一步哦,打开上面生成的csr格式的文件(在D:\Program Files\OpenSSL-Win64\bin目录里面),使用Ctrl+A键全选,复制全部代码(包含begin和end及横线哦,全选全部复制)粘贴到紧接上一步的第2步框中,下图打马赛克部分,如果您用openssl工具生成的csr文件没有问题的话将代码粘贴进去会出现下图右边框中所示域名相关信息;其他保持默认,点下一步即可。
csr证书.jpg

然后name.com会自动解析域名,等待ssl绑定域名完成即可,由于域名和ssl证书均在name.com,所以您只需等待大约10分钟即可完成。
搜狗截图20190805203126.jpg

游客,如果您要查看本帖隐藏内容请回复


五、nginx安装ssl证书实现https访问

接上面步骤,通过上面的csr申请,一般很快就可以得到ssl证书代码,签发给我们的ssl证书代码通常会有3部分证书代码:Server Certificate(服务器证书)、CA Certificates (CA证书)INTERMEDIATE(中间证书)、ROOT(根证书)这3个。有了这3个证书代码该怎么使用如何部署到nginx服务上?

我们需要将“Server Certificate(服务器证书)、CA Certificates (CA证书)INTERMEDIATE(中间证书)”这2个证书代码合并在一起:用记事本或notepad++打开一个空白文档,下图所示,全部复制“Server Certificate(服务器证书)”里面的代码到记事本,然后换一行将“CA Certificates (CA证书)INTERMEDIATE(中间证书)”里面的代码全部复制粘贴进来,要注意格式,服务器证书代码和ca证书代码之间不能有空格且不能在同一行,格式要和我下图中一样,并且证书代码不能缺少里面的【-----BEGIN CERTIFICATE-----】和【-----END CERTIFICATE-----】。



服务器证书代码和ca证书代码放在一起后,我们将上面的文件保存为“ssl_dfserver.cer”格式的文件(名称随便您取什么都可以,但是格式必须是.cer格式,因为cer格式是证书文件格式),然后将我们将“ssl_dfserver.cer”文件和前面用openssl生成csr时生成的那个“.key”格式的文件一起上传到服务器的网站根目录(也可以是和网站同一个磁盘的其他文件夹),打开nginx的nginx.conf文件,在最后一个“}”的前面一行输入以下代码:
server {
        listen       443 ssl;
        server_name  www.dfbazhu.com;

        ssl_certificate      /myweb/ssl_dfserver.cer;
        ssl_certificate_key  /myweb/ssl_dfkey.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
......
}

需要修改上面代码中的域名为您的域名,要保证上面的代码ssl_certificate /myweb/ss_dfserver.cer;这一行和代码ssl_certificate_key /myweb/ssl_dfkey.key;这一行中的路径分别正确,您的cer证书名称和key私钥名称正确,然后保存退出nginx.conf文件,重启nginx服务器,输入你的https域名测试看是否可以访问。注意您可以随意修改cer文件和key文件的名称但不可以改变他们的格式!

到这里基本上结束,可以实现网站的https访问了,因为篇幅的原因,nginx配置ssl证书实现https访问这样是完全不够的,下一篇我将继续写详细的操作步骤,请关注。

需要用到的openssl软件:
Win64OpenSSL-1_1_1c.part1.rar (55 MB, 下载次数: 164) Win64OpenSSL-1_1_1c.part2.rar (3.88 MB, 下载次数: 489)


上一篇:Windows系统安装MySQL5.7及以上版本+workbench8.0管理面板
下一篇:Windows server安装MySQL5.7+PHP7.3.8+Nginx+SSL证书环境配置设置教程

相关帖子

回复

使用道具 举报

owento2008 发表于 2019-9-12 10:02:47
最好在同一个网站购买,不要把域名防止a这里ssl证书在b那里买
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|小黑屋| 颠覆霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与颠覆霸主网无关。

禁止在颠覆霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2023-3-21 09:45 , Processed in 0.109232 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.