先看Nginx中的配置

server {
listen ;
ssl on;
ssl_certificate /usr/local/nginx/conf/任意证书名.crt;
ssl_certificate_key /usr/local/nginx/conf/任意私钥名(可带密码,可不带密码).key;
}

  重要事项:

  在生成CSR文件时同时生成您的私钥,如果您丢了私钥或忘了私钥密码,则颁发证书给您后不能安装成功!您必须重新生成私钥和CSR文件,免费重新颁发新的证书。为了避免此情况的发生,请在生成CSR后一定要备份私钥文件和记住私钥密码,最好是在收到证书之前不要再动服务器。 “openssl”用于生成私钥和CSR,OpenSSL一般安装在/user/bin下,如果您的系统安装在其他目录,请指定正确的目录路径。以下所有命令假设您已经成功安装OpenSSL,将产生2048位的密钥,加密算法采用3DES,您必须使用您要申请SSL证书的域名来命名密钥文件。生成key和csr等都可以在任意计算机上生成,只要生成好拷贝到服务器即可。

  步骤:

    第一种,分步生成私钥和证书请求文件(CSR)

    1.生成私钥,此命令将生成2048位的RSA私钥,使用DES3算法,私钥文件名可任意命名,在Nginx配置中指定文件路径即可,会提示设定私钥密码,请设置密码,并牢记!!

openssl genrsa -des3 -out aaaa.key 

    此时生成的key是有密码的,可以使用如下命令去除密码,此步骤非必要,且需在第2步之后,即必须使用带密码的key来生成csr!

openssl rsa -in aaaa.key -out aaaa_nopwd.key 

    2.配合已生成的私钥生成证书请求文件(CSR)

openssl req -new -key aaaa.key -out aaaa.csr  

    PS:第2步命令将提示您输入X.509证书所要求的字段信息,包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。请注意: 除国家缩写必须填CN外,其余都可以是英文或中文。请输入您要申请SSL证书的域名,如果您需要为www.domain.com申请SSL证书就不能只输入domain.com。SSL证书是严格绑定域名的。 请不要输入Email、口令(challenge password)和可选的公司名称(如果输入口令,每次启动服务器都会要求输入密码),直接打回车即可。 您现在已经成功生成了密钥对,私钥文件:www.yilexun.com.key 保存在您的服务器中, 请把CSR文件:www.yilexun.com.csr 发给证书服务公司(比如StartSSL)即可,各个含义如下:

Country Name (2 letter code): 使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。
State or Province Name (full name): 省份,比如填写Shanghai
Locality Name (eg, city): 城市,比如填写Shanghai
Organization Name (eg, company): 组织单位,比如填写公司名称的拼音
Organizational Unit Name (eg, section): 比如填写IT Dept
Common Name (eg, your websites domain name): 行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:pay.abc.com。 一个网站这里定义是: abc.com 是一个网站; www.abc.com 是另外一个网站; pay.abc.com 又是另外一个网站。
Email Address: 邮件地址,可以不填
A challenge password: 可以不填
An optional company name: 可以不填

    第二种,同时生成私钥和证书请求文件

openssl req -newkey rsa: -keyout aaaa.key -out aaaa.csr

  CSR文件必须要有CA的签名才能形成证书,可以将此CSR发给StartSSL(可免费)、verisign(一大笔钱)等地方由他来验证。也可以自己做CA,自己给自己颁发证书。

  首先生成CA证书和私钥

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

  在继续下面操作前,将openssl.cnf(可以使用locate命令查找)文件打开,查看其dir路径将其修改为dir = /home/openssl/bin/demoCA/,否则下面的步骤会提示路径无法找到。

mkdir -p /home/openssl/bin/demoCA/newcerts
touch /home/openssl/bin/demoCA/index.txt
echo "" >> /home/openssl/bin/demoCA/serial

  用生成的CA的证书为刚才生成的csr文件签名:

openssl ca -in aaaa.csr -out aaaa.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

  这样生成的证书的序列号是01,如果用同一个CA证书重复以上步骤生成不同的server证书,这些证书都会拥有相同的序列号01。

  这在Firefox浏览器下会出现SEC_ERROR_REUSED_ISSUER_AND_SERIAL错误。改进办法:

    删除demoCA/serial文件,openssl ca后面增加一个参数-create_serial,这样就会生成一个随机的128bits的序列号,基本上能避免上述错误。

  aaaa.key、aaaa.csr、aaaa.crt;其中key和crt都是放在服务器上的。

Nginx-搭建https服务器的更多相关文章

  1. 利用nginx搭建https服务器

    一.HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加 ...

  2. Nginx搭建https服务器

    HTTPS简介 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单来讲就是HTTP的安全版.即H ...

  3. 使用nginx搭建https服务器

    http://www.cnblogs.com/tintin1926/archive/2012/07/12/2587311.html 最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输 ...

  4. 使用nginx搭建https服务器(转)

    最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略 ...

  5. Nginx 搭建图片服务器

    Nginx 搭建图片服务器 本章内容通过Nginx 和 FTP 搭建图片服务器.在学习本章内容前,请确保您的Linux 系统已经安装了Nginx和Vsftpd. Nginx 安装:http://www ...

  6. Varnish,Nginx搭建缓存服务器

    Varnish,Nginx搭建缓存服务器 一. varnish 1.安装pcre库,兼容正则表达式 # tar -zxvf pcre-8.10.tar.gz # cd pcre-8.10 # ./co ...

  7. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  8. Nginx,Nginx 搭建图片服务器

    Nginx Nginx 概述 反向代理 工作流程 优点 1:保护了真实的web服务器,保证了web服务器的资源安全 2:节约了有限的IP地址资源 3:减少WEB服务器压力,提高响应速度 4:其他优点 ...

  9. NodeJS搭建HTTPS服务器

    [NodeJS搭建HTTPS服务器] http://cnodejs.org/topic/54745ac22804a0997d38b32d

  10. 其它 搭建https服务器

    原因是这样的,做了个淘宝的数据管理系统(仅供自己使用),然后需要淘宝卖家的生意参谋里面的一些数据,比如实时访客,里面有每个用户搜索什么关键字进来的,这些信息. 自己基于CefSharp开发了一个win ...

随机推荐

  1. Android布局---相对布局

    Android布局分为五大类:相对布局.线性布局.表格布局.帧布局.网格布局 相对布局 语法格式: <RelativeLayout xmlns:android="http://sche ...

  2. solr学习之入门篇

    一,简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http ...

  3. MAT

    http://www.yrom.net/blog/2014/08/29/eclipse-mat/

  4. Day1 summary

    对比了几篇在hadoop环境中实现关联规则.频繁项集的论文,文章结构都涉及mapreduce模型.传统与改进apriori算法比较.实验结果分析(数据规模-用时or加速比,节点-用时or加速比).有一 ...

  5. 制作0.5px像素的细条

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...

  6. LeetCode Maximum Subarray (最大子段和)

    题意: 给一个序列,求至少含一个元素的最大子段和? 思路: 跟求普通的最大子段和差不多,只不过需要注意一下顺序.由于至少需要一个元素,所以先将ans=nums[0].接下来可以用sum求和了,如果小于 ...

  7. fsutil

    编号:1035时间:2016年8月29日15:41:57功能:fsutil栗子:fsutil file createnew e:\b.txt 1073741824 //创建1G文件http://www ...

  8. clone 深拷贝 浅拷贝

    1. 定义:知道一个对象,但不知道类,想要得到该对象相同的一个副本,在修改该对象的属性时,副本属性不修改,clone的是对象的属性 2. 意义:当一个对象里很多属性,想要得到一个相同的对象,还有set ...

  9. 【题解】【字符串】【BFS】【Leetcode】Word Ladder

    Given two words (start and end), and a dictionary, find the length of shortest transformation sequen ...

  10. LCS (nlogn)

    最长上升子序列的O(n*logn)算法分析如下: 先回顾经典的O(n^2)的动态规划算法,设a[t]表示序列中的第t个数,dp[t]表示从1到t这一段中以t结尾的最长上升子序列的长度,初始时设dp [ ...