https跟http的关系

https没出现之前,我们网站大多数都是http开头,http全名超文本传输协议,客户端据此获取服务器上的超文本内容。超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现。因此,HTTP主要负责的是“内容的请求和获取”。问题就出在这部分。行监控、劫持、阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端进行MD5加密,不过互联网所承载的机密信息远不只是密码,搜索内容同样属于敏感信息。现如今,百度、谷歌、Github等网站已经全站启用https,https就像是给网站上了一个“锁”,HTTPS做的就是给请求加密,让其对用户更加安全。对于自身而言除了保障用户利益外,还可避免本属于自己的流量被挟持,以保护自身利益。所以在我看来,终有一天HTTPS会实现全网普及。

服务器运行环境

Linux:Linux version 3.10.0-123.9.3.el7.x86_64

Nginx:nginx/1.6.3

openssl:1.0.1e

申请证书

目前网上有不少机构提供个人免费 ssl 证书,有效期几个月到几年不等。以 StartSSL :https:/www.startssl.com 为例, 申请成功后有效期 3 年,到期后可免费续租。

具体申请过程也很简单。

注册登录以后选择 Certificates Wizard >> DV SSL Certificate 申请一个免费的 ssl 证书。

通过邮件验证域名之后,然后在自己服务器中生成 SSL 证书的 csr , 记住生成输入的秘密 ,之后要用到:

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr

将生成的证书,放到指定的存放证书的目录,如 /data/secret/ 。查看证书 weizhimiao.csr 内容,将内容复制到页面中的 Certificate Signing Request (CSR)部分,提交页面。

下载生成好的证书,选择对应的web服务器(Nginx,1_weizhimiao.cn_bundle.crt),这样私钥和公钥我们就都有了。

1_weizhimiao.cn_bundle.crt(公钥)

weizhimiao.cn.key(私钥)

nginx配置(为指定域名增加https)

nginx.conf当前配置

/conf.d/weizhimiao.cn.conf中加入

注:

配置中用到一个 /data/secret/dhparam.pem 文件,该文件是一个PEM格式的密钥文件,用于TLS会话中。用来加强ssl的安全性。生成该文件方法,

cd /data/secret/

openssl dhparam 2048 -out dhparam.pem

将原来80端口的访问,重定向。./conf.d/weizhimiao.cn.conf中加入

server{

listen 80;

server_name weizhimiao.cn;

return 301 https:/weizhimiao.cn$request_uri;}

测试

检测配置文件是否有语法错误,需要输入之前生成公钥时输入的密码。

nginx -t

Enter PEM pass phrase:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重启Nginx(切记,reload不起作用)

nginx -s stop

Enter PEM pass phrase:

nginx

Enter PEM pass phrase:

浏览器访问 weizhimiao.cn ,是否生效。

另,Nginx配置了安全证书之后,nginx每次的reload、stop等操作都需要输入密码。

可以通过生成一个解密的key文件,替代原来key文件。

cd /data/secret/

openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure

替换 weizhimiao.cn.conf 中的 weizhimiao.cn.key 文件.

server {

ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;

之后每次在reload时,就不需要在输入密码了。

最后,用 SSLLABS 来进行一下测试。

结果

以上就是关于https证书配置的全部内容,希望对大家的学习有所帮助,也希望大家关注数据吧。

web服务器Nginx环境下如何实现安全证书https的配置的更多相关文章

  1. 在nginx环境下搭建基于ssl证书的websocket服务转发,wss

    1.证书准备 本地调试,可以安装自签名证书,安装方法参考https本地自签名证书添加到信任证书访问 2.修改配置文件 将上面的配置文件拷贝到conf目录,添加或者修改节点如下 # HTTPS serv ...

  2. 高性能Web服务器Nginx

    高性能Web服务器Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强 ...

  3. web服务器-nginx虚拟主机

    web服务器-nginx虚拟主机 一 虚拟主机介绍 就是把一台物理服务器划分成多个虚拟的服务器, 每一个虚拟主机都可以有独立的域名和独立的目录,同时发布俩个网站. 二. 基于IP的虚拟主机 应用场景: ...

  4. Nginx环境下配置PHP使用的SSL认证(https)

    最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度.吾志等等.https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说c ...

  5. 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】

      非常惭愧的说,由于之前一直使用的是windowservice,安装apache来进行服务器布置的,这种方式也是最简单最直接的方式, 但是由于php的服务大多都是linux栈的,咱们也不能落后呀,在 ...

  6. 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式

    通过<高性能Web服务器Nginx的配置与部署研究——(11)应用模块之Memcached模块的两大应用场景>一文,我们知道Nginx从Memcached读取数据的方式,如果命中,那么效率 ...

  7. 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令

    1. error_log 含义:指定存储错误日志的文件 语法:error_log <file> [debug|info|notice|warn|error|crit] 缺省:${prefi ...

  8. CI在nginx环境下去掉url中的index.php

    在nginx环境下CI框架默认URL规则访问不了,出现500错误,如: http://blog.php230.com/index.php/keywords 今天在服务器配置CI框架环境时,去除URL中 ...

  9. web服务器-Nginx URL重写

    web服务器-Nginx URL重写 一. URL重写介绍 和apache等web服务软件一样,rewrite的主要功能是实现URL地址的重定向.Nginx的rewrite功能需要PCRE软件的支持, ...

随机推荐

  1. PHP数组函数的使用

    1.array_walk($arr, $func, [$data])  使用用户自定义的函数遍历所有的元素,返回true/false $func是一个函数名 默认会传入两个参数 第一个 $arr的值, ...

  2. Solr各组件之间的关系图

    原文地址:http://blog.csdn.net/clj198606061111/article/details/20854419

  3. dll注入及卸载实践

    三种方法:具体详见<逆向工程核心原理>. 1.创建远程线程CreateRemoteThread() 2.使用注册表AppInit_DLLs 3.消息钩取SetWindowsHookEx() ...

  4. java中下面这些引入都代表什么意思啊?

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; import java.uti ...

  5. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at ExTestDrive.main ...

  6. C#和.NET Framework简介

    注:本文大部分借鉴了<果壳中的C#5.0权威指南>,小编也想根据这本书好好梳理一下C#. 序言:C#是一种通用的类型安全且面向对象的编程语言.这种语言的目标是提高程序员的生产力,为此,需要 ...

  7. linux没有wifi

    linux的wifi出现问题的介绍 几次重装linux系统,经常出现没有wifi的状况 错误详情 之前安装过CentOS,Kylin,OpenSU,等等经常出现没有wifi的状况,虽说猜测是遇到驱动问 ...

  8. ios MVC笔记

    MVC:Model 模型 View 视图 Controller  控制器 关系图:

  9. php+mysql入门

    mysql+php+apache可以快速的架构动态网站. 首先,为什么php容易搞mysql,因为与mysql交互成为了php语言的一种特性. 一.mysql入门 mysql是一种开源的关系型数据库. ...

  10. 【C#】 WebApi 路由机制剖析

    C#进阶系列——WebApi 路由机制剖析:你准备好了吗? 转自:https://blog.csdn.net/wulex/article/details/71601478 2017年05月11日 10 ...