Nginx配置https访问

转载 2015年11月20日 15:34:55

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

nginx配置HTTPS

使用ssl模块配置同时支持http和https并存一,生成证书# 1、首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/# 2、创建服务器私钥,命令会让你输入一个口令: open...
  • weixin_35884835
  • weixin_35884835
  • 2016年09月19日 18:23
  • 54709

nginx配置使用https方式访问

第一步:获取证书在阿里云上申请免费证书,一年的有效期,之后下载for nginx证书。 第二步:安装证书在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证...
  • qq_31258245
  • qq_31258245
  • 2017年11月21日 18:38
  • 101

Nginx配置HTTPS

Nginx配置HTTPS最近配置了现网网站的HTTPS,简单记录一下配置过程。先交代一下我的服务部署环境:Nginx监听80端口,转发到Tomcat的8080端口;服务器使用的是阿里云的ECS,操作系...
  • xiaoyu90520
  • xiaoyu90520
  • 2017年10月16日 17:49
  • 1661

centos nginx配置https访问

1,下载opensslyum install openssl yum install openssl-devel2,确保nginx编译是添加了ssl模块--with-http_ssl_module ...
  • qq_36960656
  • qq_36960656
  • 2017年12月05日 11:10
  • 212

在nginx配置部分https

在昨天的文章(配置https实现请求安全 )里,我介绍了nginx配置全站的https访问,这样对所有请求都会加密,会减慢响应速度。 在实际的项目中,我们也没有必要对所有请求加密,比如浏览一个帖子列表...
  • leiswpu
  • leiswpu
  • 2015年09月18日 17:50
  • 3071

Nginx配置https访问

原文连接:http://www.tuicool.com/articles/NrmE3e 1.      前期的准备工作: 安装好openssl,和nginx的https模块,运行以下命令: cd  ~...
  • zhangyong125
  • zhangyong125
  • 2015年11月20日 15:34
  • 417

nginx配置http和https记录

server {         listen       80;         server_name  localhost;         #charset koi8-r; ...
  • weixin_41038171
  • weixin_41038171
  • 2018年01月05日 09:26
  • 92

nginx配置https,访问超时

web服务通过nginx配置完https之后,外网访问服务超时,内网就ok。 配置如下: server { listen 443; server_nam...
  • u014625220
  • u014625220
  • 2014年04月25日 14:01
  • 477

nginx配置https以及能够局域网访问

一、安装Nginx (安装Nginx直接解压便可以用) 二、安装Openssl 1、下载地址http://slproweb.com/products/Win32OpenSSL.html,必须下载1.0...
  • Enarm
  • Enarm
  • 2017年02月22日 12:23
  • 2423

linux下nginx配置https详解

1、https简介 https(hyper text transfer protocol secure),是一种基于ssl/tls的http,所有的http数据都是在ssl/tls协议封装之上进...
  • lifushan123
  • lifushan123
  • 2015年05月11日 00:28
  • 898
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx配置https访问
举报原因:
原因补充:

(最多只允许输入30个字)