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. MSSQL 数据库日志爆涨

    解决方法有两种,现只用最简单的方法: 1.数据库属性----选项----恢复模式由完整改为简单--确定 2.右击数据库---任务---收缩 3.数据库属性----选项----恢复模式由简单改为完整-- ...

  2. Navicat MySQL安装

    1 下载安装包 点击下载安装包 2 解压安装包(解压后有三个文件) 第一个 Crack 是注册文件 第二个 chinese.rar 是汉化包 第三个 navicat_trial.exe 是安装程序 3 ...

  3. Selenium二次封装-Python版本

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  4. Elasticsearch - glossary

    From http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/glossary.html glossary of ...

  5. loj10104 [POI 2008]Blockade

    传送门 分析 我们知道对于一个割点,我们如果去掉它就会使原来的图被分为若干块,则这是我们将所有块包含的点的个数两两相乘即可,而如果不是割点则对于图的连通性没有影响.注意在最后要加上2*(n-1)表示去 ...

  6. javascript 基础练习 做Bingo图

    ---恢复内容开始--- <!DOCTYPE html><html>    <head>        <meta charset="utf-8&q ...

  7. 【Android小技巧】android 按键如何能自动触发点击

    使用button.performClick();方法 EditText 中hint的字体跟 textSize的字体大小一样大

  8. winFrom程序更新自动安装

    我就以一个计算字符长度的程序为例子吧界面如下 代码如下 [C#] 纯文本查看 复制代码 ? 01 02 03 04 private void  button1_Click(object sender, ...

  9. Kotlin 控制台交互式操作

    kotlin 可以使用和控制台进行交互式操作. 还是蛮有意思. 使用Kotlin的交互式操作首先必须要正确的安装JDK和配置JDK的环境. 可以参考这篇文长 安装完成之后就要下载一个Kotlin的交互 ...

  10. 「BZOJ 3242」「NOI 2013」快餐店「基环树」

    题意 基环树上找到一个点(可以在边上)使得它到树上最远点的距离最小,输出最小距离 题解 如果是一棵树,答案就是树的直径\(/2\) 如果是基环树,那么很好证明删去环上的某一条边是不影响答案的.于是断环 ...