nginx配置免费ssl证书支持https安全访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置免费ssl证书支持https安全访问相关的知识,希望对你有一定的参考价值。

1、自行颁发不受浏览器信任的SSL证书:

HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下:

openssl genrsa -des3 -out www.aaa.com.key 1024
openssl req -new -key www.aaa.com.key -out www.aaa.com.csr
openssl rsa -in www.aaa.com.key -out www.aaa.com_nopass.key

nginx.conf的SSL证书配置,使用www.aaa.com_nopass.key,在启动Nginx是无需输入SSL证书密码,而使用www.aaa.com.key则需要输入密码:

server
{
   server_name sms.www.aaa.com;
   listen  443;
   index index.html index.htm index.php;
   root  /data0/htdocs/www.aaa.com;
   ssl on;
   ssl_certificate www.aaa.com.crt;
   ssl_certificate_key www.aaa.com_nopass.key;
   ......
}


自行颁发的SSL证书虽然能够实现加密传输功能,但得不到浏览器的信任,会出现以下提示:


此 网 站 的 安 全 证 书 有 问 题 。 
此 网 站 出 具 的 安 金 证 书 是 大 其 他 网 站 地 址 发 的 。
安 金 证 书 「 司 题 可 能 显 示 试 图 敗 睚 您 蕺 截 获 您 向 服 务 器 发 的 数 据 。
建 议 关 闭 此 网 页 , 并 且 不 要 繼 续 浏 览 该 网 站 。
  望 击 贶 处 关 闭 该 网 页 。
  继 续 浏 览 网 站 ( 不 荐 ) 。
  更 多 信 息

2、受浏览器信任的StartSSL免费SSL证书:

StartSSL(网址:http://www.startssl.com,公司名:StartCom)也是一家CA机构,它的根证书很久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。

在今年9月份,StartSSL竟然搞定了微软:微软在升级补丁中,更新了通过Windows根证书认证程序(Windows Root Certificate Program)的厂商清单,并首次将StartCom公司列入了该认证清单,这是微软首次将提供免费数字验证技术的厂商加入根证书认证列表中。现在,在Windows 7或安装了升级补丁的Windows Vista或Windows XP操作系统中,系统会完全信任由StartCom这类免费数字认证机构认证的数字证书,从而使StartSSL也得到了IE浏览器的支持。

注册成为StartSSL(http://www.startssl.com)用户,并通过邮件验证后,就可以申请免费的可信任的SSL证书了。步骤比较复杂,就不详细介绍了,申请向导的主要步骤如下:



到http://www.startssl.com 申请免费的SSL证书。


下载www.aaa.com.zip文件,解压文件,找到for Nginx.zip解压,得到2个文件


1_www.aaa.com_bundle.crt ,2_www.aaa.com.key


改个名字www.aaa.com.crt,www.aaa.com.key传到服务器上备用


Nginx配置SSL证书部署https支持


找到对应的server


增加


listen          443 ssl;
ssl                     on;
ssl_certificate         /usr/local/nginx/conf/ssl/www.aaa.com.crt;
ssl_certificate_key     /usr/local/nginx/conf/ssl/www.aaa.com.key;
ssl_session_timeout     5m;
ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers             ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers       on;

 


重新载入nginx配置

# /etc/init.d/nginx  reload


浏览器信任的https:// www.aaa.com 已经可用了~



转换pfx为nginx需要的crt,key


如果已经有一个扩展名为pfx的证书,那么需要转换使用


# openssl pkcs12 -in www.aaa.com.pfx -nocerts -nodes -out www.aaa.com.key
Enter Import Password: 输入证书密码
MAC verified OK
  
 
# openssl pkcs12 -in www.aaa.com.pfx -clcerts -nokeys -out www.aaa.com.crt
Enter Import Password: 输入证书密码
MAC verified OK

 


生成2个文件 www.aaa.com.key , www.aaa.com.pfx 复制到你指定的目录


本文出自 “实践出真知” 博客,请务必保留此出处http://m51cto.blog.51cto.com/53087/1966129

以上是关于nginx配置免费ssl证书支持https安全访问的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置ssl证书实现https访问

nginx使用certbot免费ssl证书,https很简单

nginx开启ssl配置https证书和密钥过程

阿里云申请免费SSL证书并使用Nginx配置http强制跳转https。

Centos7.5 下Nginx配置SSL支持https访问。

Nginx+Tomcat+SSL配置(包括https跳转及腾讯免费SSL申请流程)