由于小程序和Ios端的需要,公司的项目需要从原来的http协议扩展到https协议,因为项目本来就有采用nginx做了负载均衡,但是之前配置nginx的时候并没有配置关于https的内容,所以需要做这部分的内容。关于nginx实现动静分离和负载均衡可看我之前的博客。https://i.cnblogs.com/posts?categoryid=1026166

1.数字证书生成

证书的购买要看公司的具体需求,我这里选用的是阿里云,关于证书部分的官网是这个地址:https://help.aliyun.com/product/28533.html?spm=5176.video54216.3.1.JkjOas

我选定的是最便宜的一款,不要钱,不过要找到它可能得费点时间哦,毕竟免费的东西嘛,阿里也把它隐藏的比较深。

它的缺点就是,只能保护一个域名,不支持通配符域名(意思就是说,比如你这个证书绑定的是baidu.com,它就只能保护www.baidu.com和baidu.com,而不能保护注入a.baidu.com这类子级域名),还有就是只能用一年。并且一个阿里云账户只能购买20个证书。

总的来说,对于我们搞测试来说,够用了,如果用作商业用途,那就最好建议花钱买。

购买过程我就不赘述了,购买完成以后,来到我的阿里云控制台,就可以看到刚才购买的证书了。

接下来一步是补全信息,主要是你想要绑定的域名和一些你的个人信息,如下图所示。

因为我选择的域名验证类型是DNS验证,所以还需要到dns配置一番,具体怎么配置在整个阿里云的平台上都有详实的记录。我就不赘述了。

审核很快,因为都是机器审核的,差不多也就10分钟就审核成功了。审核成功后的列表如下。以下是我申请的两个证书。

2.为nginx配置ssl证书

点击上述图片中的下载项,就进入如下页面。

其实这个页面把具体的操作说的十分清楚,并且还有视频教程。我简要地再总结一下。

第一步:下载证书for nginx

点击下载,就会得到一个证书文件夹,其中包含两个文件。

第二步:在nginx的conf目录下新建cert文件夹,将上述的两个文件放入该文件夹

第三步:修改nginx关于https部分的配置

我就直接贴我的配置吧:

  server {
listen 443;
server_name www.wonyen.com wonyen.com;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/xxxxxxxx684.pem;
ssl_certificate_key cert/xxxxxxxxxx0684.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 ~ \.(gif|jpg|jpeg|png|bmp|swf|eot|svg|ttf|woff|mp3|mp4|wav|wmv|flv|f4v|icon)$ {
root apache-tomcat-8.0.9-windows-x86-yipin-8081/apache-tomcat-8.0.9/webapps/ROOT;
expires 30d;
}
location ~ \.(json|txt)$ {
root apache-tomcat-8.0.9-windows-x86-yipin-8081/apache-tomcat-8.0.9/webapps/ROOT;
expires 15d;
}
location ~ \.(css|js)$ {
root apache-tomcat-8.0.9-windows-x86-yipin-8081/apache-tomcat-8.0.9/webapps/ROOT;
expires 1d;
}
location ~ ^/\w+Att{
proxy_pass http://xdxfile.com;
}
location ~ ^/\w+Fill{
proxy_pass http://xdxfile.com;
}
location = /crowdFundSave{
proxy_pass http://xdxfile.com;
}
location = /crowdFundRewardSave{
proxy_pass http://xdxfile.com;
}
location = /garbageCategorySave{
proxy_pass http://xdxfile.com;
}
location = /mailTestAjax{
proxy_pass http://xdx8082.com;
}
location = /mailSendAjax{
proxy_pass http://xdx8082.com;
}
location = /mailOldAjax{
proxy_pass http://xdx8082.com;
}
location = /wechatAuthority{
proxy_pass http://xdxall.com;
}
location = /compressImg{
proxy_pass http://xdxfile.com;
}
location = /compressImgAll{
proxy_pass http://xdxfile.com;
}
location = /lifeMenuHome{
proxy_pass http://xdxfile.com;
}
location = /lifeOrderHome{
proxy_pass http://xdxfile.com;
}
location = /lifeCenterAjax{
proxy_pass http://xdxfile.com;
}
location = /startBusiness{
proxy_pass http://xdxfile.com;
}
location ~ ^/ueditor1_4_3{
proxy_pass http://xdxfile.com;
}
location = /freightByIp{
proxy_pass http://xdx8082.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .*$ {
index index;
proxy_pass http://xdx.com;
}
error_page 404 /Error404.jsp;
error_page 500 502 503 504 /Error404.jsp;
location = /Error404.jsp {
proxy_pass http://xdxfile.com;
}
}

有关于ssl的配置集中在7--12行,其他的配置就跟普通的http配置无二致。

第四步:重启nginx服务器

经过如上几个步骤,你的nginx服务器就既可以支持http,又可以支持https了,是不是很简单,赶紧试试吧。

SSL数字证书Nginx配置部署的更多相关文章

  1. [转]浅谈https\ssl\数字证书

    浅谈https\ssl\数字证书 http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的 ...

  2. 浅谈https\ssl\数字证书

    全球可信的SSL数字证书申请:http://www.shuzizhengshu.com 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕 ...

  3. 【转】浅谈https\ssl\数字证书

    转载请注明出处:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的SSL数字证书申请 ...

  4. https证书/即SSL数字证书申请途径和流程

    国际CA机构GlobalSign中国 数字证书颁发中心网站:http://cn.globalsign.com    https证书即SSL数字证书,是广泛用 于网站通讯加密传输的解决方案,是提供通信保 ...

  5. HTTPS协议工作原理(SSL数字证书)

    目录 HTTPS SSL协议的工作过程 SSL数字证书的查看 HTTPS 我们都知道HTTP协议是明文传输的,并且不能验证对方的身份,而且不能保证数据的完整性.而当我们在网络上进行购物电子交易时,电子 ...

  6. goDaddy SSL证书 Nginx配置全流程 (转)

    好长时间没动过这玩意了,今天突然用到,忘的一干二净.在此做个笔记吧! 一.购买Godaddy SSL证书 1.打开Godaddy官网 http://www.godaddy.com/: 2.点击网站导航 ...

  7. 【HTTPS】自签CA证书 && nginx配置https服务

    首先,搭建https服务肯定需要一个https证书.这个证书可以看做是一个应用层面的证书.之所以这么说是因为https证书是基于CA证书生成的.对于正式的网站,CA证书需要到有资质的第三方证书颁发机构 ...

  8. Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl

    一.Nginx负载均衡 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; 同一个用户始终保持 ...

  9. Nginx负载均衡、SSL原理、生成SSL密钥对、Nginx配置SSL

    6月12日任务 12.17 Nginx负载均衡12.18 ssl原理12.19 生成ssl密钥对12.20 Nginx配置ssl扩展 针对请求的uri来代理 http://ask.apelearn.c ...

随机推荐

  1. bzoj 4012: [HNOI2015]开店 主席树

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...

  2. css清除浮动主要方法

    1.浮动元素尾部添加空div标签,设置css为clear:both: 缺点:如果页面浮动布局多,则需要添加较多div: 2.父级元素定义伪类:after和zoom:1: .father:after{d ...

  3. 【简单理解】gulp和webpack的区别

    Gulp和Webpack的基本区别: gulp可以进行js,html,css,img的压缩打包,是自动化构建工具,可以将多个js文件或是css压缩成一个文件,并且可以压缩为一行,以此来减少文件体积,加 ...

  4. CentOS下LAMP环境安装配置

    本来几下yum都能装好的,yum却出问题了,报错:AttributeError: 'YumBaseCli' object has no attribute '_not_found_i',可能是某个文件 ...

  5. 【Python3之模块及包的导入】

    一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  6. IBM的websphere MQ的c#使用(一)

    接上篇的MQ配置.利用C#实现MQ消息的收发.源码 1.需要引入的dll是amqmdnet.dll 2.app.config配置 <?xml version="1.0" en ...

  7. 【转】Jenkins 安装与配置

    基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux 服务器:例如: 上传至: cd /usr/local 1.2.解压: rpm -ivh jdk-8u111-linux-x64 ...

  8. kindeditor 上传下载文件

    jsp代码 1 <script type="text/javascript" src="${pageContext.request.contextPath}/kin ...

  9. [整理]HTTPS和SSL证书

    在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 首先解释一下上面的几个名词: • https:在http(超 ...

  10. 在React中你真的用对了Ajax吗?

    通过AJAX加载初始数据 通过AJAX加载数据是一个很普遍的场景.在React组件中如何通过AJAX请求来加载数据呢?首先,AJAX请求的源URL应该通过props传入:其次,最好在component ...