最近在看  HTTP权威指南   看到介绍了HTTPS的ssl,自己就动手测试了下,将步骤记录下

HTTPS简介

使用openssl生成证书

安装openssl

本人ubuntu14.04已经安装了

生成ca证书

  • 创建证书目录  

    mkdir ~/ssl/

  • 拷贝 CA.sh到证书目录 

    cp /usr/lib/ssl/CA.sh ~/ssl/

  • 生成证书

    cd ~/ssl/ && sh CA.sh -newca

    根据提示填写信息完成后,在demoCA下会生成证书文件,

    其中demoCA/private/cakey.pem为ca证书私钥,demoCA/cacert.pem为ca根证书

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

生成服务器证书

  • 生成私钥:        openssl genrsa -des3 -out nginx.key 1024

  • 生成csr文件:   openssl req -new -key nginx.key -out nginx.csr

  • 生成证书&签名:    openssl ca -in nginx.csr -out nginx.crt

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

Nginx 配置

  • 虚拟主机监听443端口并配置证书

  • 重启服务,输入密码

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

效果预览

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

Ubuntu Nginx下配置网站ssl实现https访问-LMLPHP

获取免费ssl证书

目前免费证书机构并且被浏览器支持信任的不对,startssl算是一家了,有需要的可以自己去申请,官网网址:https://startssl.com    

申请演示博文:Startssl 现在就启用 HTTPS,免费的!

注意问题

  • 资源文件必须改成https的

    简单方法就是所有的资源文件都不要写协议,例如

    "http://www.54php.cn/default/info.js"=>"//www.54php.cn/default/info.js",

    这样依赖浏览器来自己决定协议是http还是https

原文地址:Ubuntu Nginx下配置网站ssl实现https访问标签:               

智能推荐

11-25 00:49