在你的网站服务器配置https

在你的网站服务器配置https

简介

通过Let‘s Encrypt免费提供的证书服务,实现http使用ssl进行加密传输(https://zh.wikipedia.org/wiki/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E5%8D%94%E8%AD%B0),让你的网站更安全。

Let‘s Encrypt

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

Let‘s Encrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let‘s Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。

操作环境如下

[[email protected] ~]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[[email protected] ~]# nginx -V

nginx version: nginx/1.12.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/application/nginx-1.12.0/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre

安装certbot

yum安装certbot:

启用EPEL仓库

[[email protected] ~]# yum install -y yum-utils

[[email protected]~] # yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

安装certbot

[[email protected]~] # sudo yum install certbot

git安装certbot:

安装git工具:

安装依赖:

[[email protected] ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

下载源码:

[[email protected] ~]# wget https://github.com/git/git/archive/v2.13.0.tar.gz

编译安装git:

[[email protected] ~]# tar -zxf git-2.13.0.tar.gz

[[email protected] ~]# cd git-2.13.0

[[email protected] git-2.13.0]# make prefix=/usr/local all

[[email protected] git-2.13.0]# make prefix=/usr/local install

更新python至2.7以上:

检查python版本

[[email protected] git-2.13.0]# python -V

Python 2.4.3

安装gcc编译器

[[email protected] ~]# yum -y install gcc

下载python源码

[[email protected] ~]# wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz

编译安装python2.7

[[email protected] ~]# tar -zxf Python-2.7.13.tgz

[[email protected] ~]# cd Python-2.7.13

[[email protected] ~]#./configure

[[email protected] ~]# make all

[[email protected] ~]# make install

[[email protected] ~]# make clean

[[email protected] ~]# make distclean

更改python命令指向python2.7

[[email protected] Python-2.7.13]# mv /usr/bin/python /usr/bin/python2.4

[[email protected] Python-2.7.13]# ln -s /usr/local/bin/python2.7 /usr/bin/python

[[email protected] Python-2.7.13]# python -V

Python 2.7.13  #更新成功

安装certbot

[[email protected] ~]# git clone https://github.com/letsencrypt/letsencrypt

获取证书

使用手动的方式获取证书

yum安装certbot使用的命名

[[email protected] ~]# certbot certonly --standalone --email [email protected] -d czlun.top -d www.czlun.top

git安装certbot使用的命令

[[email protected] ~]# cd letsencrypt

[[email protected] letsencrypt]# ./letsencrypt-auto certonly --standalone --email [email protected] -d czlun.top -d www.czlun.top

[email protected]替换成自己的邮箱

czlun.top与www.czlun.top替换成自己的域名

证书的位置

在对应的域名下有四个生成的密钥证书文件

[[email protected] ~]# ls /etc/letsencrypt/live/czlun.top/

cert.pem  chain.pem  fullchain.pem  privkey.pem  README

cert.pem - Apache服务器端证书

chain.pem - Apache根证书和中继证书

fullchain.pem - Nginx所需要ssl_certificate文件

privkey.pem - 安全证书KEY文件

配置nginx

server{

listen 80;

server_name czlun.top www.czlun.top;

return 301 https://www.czlun.top$request_uri;

}

server {

listen 443 ssl;

server_name czlun.top www.czlun.top;

ssl on;

ssl_certificate /etc/letsencrypt/live/czlun.top/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/czlun.top/privkey.pem;

[该域名主机的其他配置在这]

}

重启nginx可以看到SSL证书生效,且HTTPS可以访问站点

时间: 2024-11-12 21:38:51

在你的网站服务器配置https的相关文章

教你如何在let's encrypt申请免费证书---开启网站的https之路

最近谷歌和火狐封杀了国内大部分的CA机构,导致使用国内CA办法的证书在chrome浏览器显示为不安全的网站,国外的证书又比较贵,发现了一款开源免费的证书机构let's encrypt, 是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起,比较有权威性,下面的例子是nginx 实例上的部署安装过程. 1. 安装客户端脚本 curl https://get.acme.sh | sh 安装完成后会自动在计划任务中增加一条任务自动更新证书,自动申请 因为证书有效期应该

如何让你的网站支持https

如何让你的网站支持https 当今世界的主流网站基本都是使用https对外界提供服务,甚至有某些公司建议完全使用https, 那么https是什么呢?请参考如下的图解,https是在我们通常说的tcp/ip协议中的传输层和应用层之间加入的一层,在这层的客户端浏览器和服务器端进行了加密,如图可以看出,加密的作用只能体现在应用层以下,也就是说tcp层看到的是加密数据,应用层看到的还是明文,也就是说https对于应用层来说是透明的,通常我们的http request, request header,k

利用tomcat服务器配置https双向认证

首先请保证已经安装好jdk,并且环境变量以及配置好了 第一步.为服务器生成证书: 使用toolkey为tomcat生成证书,假定目标机器的域名为localhost,使用如下命令生成:keytool –genkey –v –aliaslocalhost_server RSA –keystore localhost_server.store  –validity 36500 第二步.为客户端生成证书: 为浏览器生成证书,以便让服务器来验证它.为了能保证证书顺利导入至IE和Firefox,证书格式应该

大型网站的 HTTPS 实践(二)——HTTPS 对性能的影响

前言 HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS 也会降低用户访问速度,增加网站服务器的计算资源消耗. 本文主要介绍 https 对用户体验的影响. HTTPS 对访问速度的影响 在介绍速度优化策略之前,先来看下 HTTPS 对速度有什么影响.影响主要来自两方面: 协议交互所增加的网络 RTT(round trip time). 加解密相关的计算耗时. 下面分别介绍一下. 2.1 网络耗时增加 由于 HTTP 和 HTTPS 都需要 DNS 解析,并且

Let's Encrypt 给网站加 HTTPS 完全指南certbot

Let's Encrypt 给网站加 HTTPS 完全指南 29 MAY 2016 前段时间在北京联通3G移动网络下,发现自己的站点被联通劫持注入恶心的话费充值广告,决定让我的网站强制使用 HTTPS,避免 ISP 劫持. 使用 HTTPS 前的一些疑惑 现在是 2016 年,使用 HTTPS 已经不像几年前是一件昂贵的事情.当然我也是自己了解了一圈才消除了自己的疑惑,主要是: 我的网站(一个简单的博客)可能没必要使用 HTTPS HTTPS 会不会让网站速度变慢? HTTPS 需要花钱吧?证书

如何让lnmpa网站 全站https

使用场景 (腾讯云+lnmp一键安装包+wp) 其他的也可以效仿 Https优势 1. 防流量劫持 全站Https是根治运营商.中间人流量劫持的解决方案,不仅可以杜绝网页中被插入的小广告,更可以保护用户隐私安全. 2. 提升搜索排名 采用Https可以帮忙搜索排名的提升,提高站点的可信度和品牌形象. 3. 杜绝钓鱼网站 Https地址栏绿色图标可以帮助用户识别出钓鱼网站,保障用户和企业的利益不受损害,增强用户信任. 首先先从网络服务厂商下载ssl证书 例如 www.xxx.com.key www

中型10万IP大流量网站服务器配置解决方案

中型10万IP大流量网站服务器配置解决方案你有没有想过,如果你的网站有日访问独立IP上10万,PV上百万左右,怎样的服务器配置,怎样的带宽都可以保证网站正常运作呢?也许你没有想过,也许你想过不少方案,下面转载整理知名博客之月光博客的分享经验: 首先,确认服务器硬件是否足够支持当前的流量. 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题. 其次,优化数据库访问. 服务器的负载过大,

【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理

大型网站的HTTPS实践(一)--HTTPS协议和原理 原创 网络通信/物联网 作者:AIOps智能运维 时间:2018-11-09 15:07:39  349  0 前言 百度于2015年上线了全站HTTPS的安全搜索,默认会将HTTP请求跳转成HTTPS.从今天开始,我们将会分享多篇系列文章,为大家重点介绍和解析百度的HTTPS最佳实践. HTTPS协议概述 HTTPS可以认为是HTTP+TLS. HTTP协议大家耳熟能详了,目前大部分WEB应用和网站都是使用HTTP协议传输的. TLS是传

网站提示https证书风险是什么原因?怎么解决?

有时候使用电脑浏览器遇到网站安全https证书风险的时候,浏览器提示证书风险怎么办呢?下面来教大家几个方法: 可以通过证书风险拦截提示页面上的"忽略警告,继续访问"继续点击访问此网站,但是不建议用户这么做.如果你在https证书风险提示页面点击"忽略警告"并转到含有证书风险的网站,电脑浏览器将会暂时记住该https证书错误的忽略,你后续再访问该网站不会再出现证书风险提示的阻止页面(注意:清理缓存等操作会忘记该忽略).但地址栏"安全状态"栏中的ht