Nginx配置https访问

4 篇文章 0 订阅

1.      前期的准备工作:

安装openssl和nginx的https模块

cd  ~/
mkdir ssl
cd ssl
mkdir demoCA
cd demoCA
mkdir newcerts
mkdir private
touch index.txt
echo '01' > serial

2.      制作CA证书(这个是信任的起点,根证书,所有其他的证书都要经过CA的私钥签名)。

生成 CA私钥: ca.key

openssl genrsa -des3 -out ca.key 2048

这样是生成rsa私钥,`des3`算法,openssl格式,2048位强度。`ca.key`是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。

另外可以通过以下方法生成没有密码的key:

opensslrsa -in ca.key -out ca_decrypted.key

生成 CA根证书的公钥 ca.crt

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

3.      制作网站的https证书,并用CA签名认证。

假设我们需要为 test.com 域名制作证书,先生成 test.com的证书私钥 test.com.pem。

   命令:

openssl genrsa -des3 -out test.com.pem 1024

   生成无密码的私钥:

openssl rsa -in test.com.pem -out test.com.key

生成 csr 签名请求:

openssl req -new -key test.com.pem -out test.com.csr

这里需要输入国家,地区,组织,email等。最重要的是**common name**,可以写你的名字或者域名。如果为了 https 申请,这个必须和域名一样,即,这里要写test.com,否则会引发浏览器警报,这里可以用 *.test.com 来做泛域名证书。

最后要用CA证书进行签名:

openssl ca -policy policy_anything -days 1460 -cert./demoCA/ca.crt -keyfile ./demoCA/ca.key -in test.com.csr -out test.com.crt

把 ca.crt 的内容追加到 test.com.crt后面,因为有些浏览似乎不支持:

cat demoCA/ca.crt >> test.com.crt

4.      nginx配置

server {
  listen 443;
  server_name test.com www.test.com;
 
  root html;
  index index.html index.htm;
 
  ssl on;                                     #开启ssl
  ssl_certificate /PATH/TO/test.com.crt;    #服务器证书位置
  ssl_certificate_key/PATH/TO/test.com.key;  #服务器私钥
 
  ssl_session_timeout 5m;                     #session有效期,5分钟
 
  ssl_protocols SSLv3 TLSv1TLSv1.1 TLSv1.2;          #ssl协议
  ssl_ciphers"HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";  #ssl加密算法 
  ssl_prefer_server_cipherson;
 
  location / {
    try_files $uri $uri/ =404;
  }      
}


1.      其他,其实很多时候,并不需要加密的 key,所以像这面这么做就好了。

命令如下:

 cd ~/
 mkdir ssl
 cd ssl
 mkdir demoCA
 cd demoCA
 mkdir newcerts
 mkdir private
 touch index.txt
 echo '01' > serial
 openssl genrsa -out ca.key 2048
 openssl req -new -x509 -days 3650 -keyca.key -out ca.crt
 cd ..
 openssl genrsa -out test.com.key 2048
 openssl req -new -key test.com.key -out test.com.csr
 openssl ca -policy policy_anything  -days1460 -in test.com.csr -out test.com.crt -cert ./demoCA/ca.crt -keyfile./demoCA/ca.key

原文文章链接:http://www.tuicool.com/articles/NrmE3e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值