1.安装自签证书

自签证书也就是不被公网认可的证书,可在局域网内进行签名认证,其12306也是自签证书,通过证书+nginx代理web服务器 可以实现https连接

 一.使用OpenSSL创建证书

建立服务器私钥

openssl genrsa -des3 -out server.key 

Generating RSA private key, 1024 bit long modulus
..................++++++
.............++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:
140713263834776:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:823:You must type in 4 to 1023 characters
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:

必须输入密码,并要这次验证密码

二.生成一个证书请求csr文件 

需要依次输入服务器秘钥,国家,地区,组织,email

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

生成的csr文件交给CA签名后形成服务端自己的证书, 在此说明,common name选项尽量使用域名

 三.去除key文件口令的命令

openssl rsa -in server.key -out server.key

四.使用上面的密钥和CSR对证书进行签名

openssl x509 -req  -days  -sha256   -in server.csr -signkey server.key -out servernew.crt

五.Nginx配置ssl

 server {
listen ssl;
server_name myssl.com;
index index.html index.htm index.php;
root /home/wwwroot/myssl;
autoindex on;
include enable-php.conf;
access_log /home/wwwlogs/access.log;
ssl on;
ssl_certificate ssl/servernew002.crt;
ssl_certificate_key ssl/server002.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.;
}
# http重定向https
server {
listen ;
server_name myssl.com;
rewrite ^(.*) https://$server_name$1 permanent;
}

参考:

http://blog.csdn.net/ldx891113/article/details/50456273

http://blog.csdn.net/cangzihu/article/details/53488996

2.安装Let's Encrypt免费SSL证书

Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

到目前为止,Let's Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持。

1.获取letsencrypt git文件 ,并执行生成证书

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --standalone --email service@myssl.com -d myssl.com -d myssl.com

在执行letsencrypt时会会安装pythonDev环境(第一次),agree and yes

生成的证书目录在"/etc/letsencrypt/live"下

进入子目录有4个文件

cert.pem  - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

2.配置Nginx

server
{
listen ssl;
server_name myssl.com;
index index.html index.htm index.php;
root /home/wwwroot/myssl; #error_page /.html;
include enable-php.conf;
if (!-e $request_filename){
rewrite ^/(.*) /index.php?r=$ last;
}
autoindex on;
ssl on;
ssl_certificate /etc/letsencrypt/live/myssl.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myssl.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.;
access_log /home/wwwlogs/access.log access;
} # http重定向https
server {
listen ;
server_name myssl.com;
rewrite ^(.*) https://$server_name$1 permanent;
}

3.自动续期

Let's Encrypt申请的证书会有三个月的有效期

手动:

./letsencrypt-auto certonly --standalone --email service@myssl.com -d myssl.com -d myssl.com

用crontab进行定时执行续期脚本

参考: http://www.open-open.com/lib/view/open1456025126839.html

根域名跳转www域名

 if ($host = 'aaa.com') {
rewrite ^/(.*)$ https://www.aaa.com/$1 permanent;
}

 

安装SSL证书 and 根域名跳转www域名的更多相关文章

  1. nginx安装SSL证书,并强制跳转https访问

    网站最初是nginx代理80端口,实现http访问的.现在要安装SSL证书,使用https访问. 我的nginx根目录是/usr/local/nginx,将申请的SSL证书和key放在/usr/loc ...

  2. 免费获取SSL证书/一键安装SSL证书/https加密

    因为我用的是恒创的香港服务器 虽然价格相较于大促的阿里云贵一些,但是有一个有点不用备案... 安装步骤: 1.登录云主机控制面板, 在 其他管理 中找到并进入 SSL证书 设置. 注意:如拥有多个域名 ...

  3. MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动

    MVC图片上传详解   MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...

  4. oneinstack如何安装ssl证书和配置Let's Encrypt免费SSL证书教程汇总(转)

    OneinStack包含以下组合:lnmp(Linux + Nginx+ MySQL+ PHP) LNMP安装SSL安全证书 部署HTTPS:https://www.gworg.com/ssl/309 ...

  5. SSL安装方法一:在Windows Server 2008安装SSL证书(IIS 7.0)

    购买的是GlobalSign 公司的通配符域名型SSL 大致的意思就是“通配符公用名填写*.域名.com,这个下面的所有子域名是不受数量限制的,*可以换成任意字符” 1 生成数字证书签名请求文件(CS ...

  6. phpStudy模式下安装ssl证书,详细版

    phpStudy模式下安装ssl证书,详细版 2017年12月16日 14:27:38 骑着蚂蚁追大象 阅读数:4232 标签: phpstudy安装ssl证书 更多 个人分类: php   版权声明 ...

  7. phpStudy环境安装SSL证书教程(apache)

    https://cloud.tencent.com/product/ssl 此链接是检测域名 证书的可以检测一下 下面是证书配置 小白呢亲测 作为PHP程序员,我们一定要学会使用phpStudy环境集 ...

  8. Linux+Apache下如何安装SSL证书

    最近很多站长在问linux系统平台下如何安装SSL证书?Linux+Apache下如何安装SSL证书?本文整理了关于Linux+Apache下如何安装SSL证书的相关教程供大家参考,更多SSL证书安装 ...

  9. 网站安装SSL证书成为影响SEO排名的重要因素之一

    百度谷歌先后发声明倡导站长们使用https链接,同样的网站,https站点要比http站点拥有更好的排名权重.https已经是网站SEO必须要考虑的环节之一了,而https的必要条件就是安装SSL证书 ...

随机推荐

  1. Linux-GitLab+Jenkins持续集成+自动化部署

    GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...

  2. 3d

    http://jokerwang.com/diy-3d%E6%89%93%E5%8D%B0%E6%9C%BA1-%E7%A1%AC%E4%BB%B6%E7%AF%87/

  3. logstash filter 处理json

    根据输入的json字段,分别建立索引.循环生成注册log和登录log保存到testlog文件中,结果如下: {"method":"register"," ...

  4. PHP开发要点与技巧总结(二)

    1 == 'a'.0 == 'a'.97 == '97a'?这里边牵涉到的是默认数据类型转换. // 无输出 if ('0') { echo "'0' is true\n"; } ...

  5. Django 中的static文件的设置

    STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ('article',os.path.jo ...

  6. Flash设置(各种版本浏览器包括低版本IE)

    涉及到的各种版本flash百度下都能下到的,不再说明. Flash的安装比较麻烦,涉及多种浏览器.多种操作系统支持,安装.设置的地方比较多,以下说明基本涉及大部分安装过程中可能遇到的问题,如果安装或视 ...

  7. 微信退款时候报”请求被中止: 未能创建 SSL/TLS 安全通道“或”The request was aborted: Could not create SSL/TLS secure channel“的错误

    如题,英文中文表述的是一个意思 退款测试在我本机测试一切都是正常的,但是发布到了服务器就报这样的一个错啦 但是无论百度或者google或者bing,你能够搜索到的结果都很类似,综合起来就是加这样一些代 ...

  8. C# NPOI 操作Excel 案例

    1.加入NPOI 程序集,使用nuget添加程序集 2.引用NPOI程序集 private IWorkbook ExportExcel(PrintQuotationOrderViewModel mod ...

  9. svn 解决冲突

    当svn update时提示如下: D C main.go > local file unversioned, incoming file add upon updateSummary of c ...

  10. python面试题一个字符串是否由重复的子字符串组成

    一,给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 输入: "abab" 输出: True 解释: 可由 ...