基于haproxy的全站https

栏目: 服务器 · 发布时间: 7年前

内容简介:基于haproxy的全站https

前一段时间新疆等地用户访问国务院官网,在首页上发现大量淫秽信息及广告,后反映给相关工作人员。经排查,并非是网站被劫持和入侵,而是运营商流量劫持导致的这个结果……此处且不论该时间后续事宜,作为一名优秀的运维工程师,我们面对运营商如此流氓的行为,应该怎么办? 当然是全站HTTPS了,目前,百度、阿里、腾讯等国内互联网巨头已经采用全站HTTPS。下面我将带你模拟搭建HTTPS。

基于haproxy的全站https

这是一个常见的haproxy架构型,我们现在采用此架构,将HTTPS部署在haproxy上。

第一步:创建CA证书

1.CA机自签名:

#创建数据库
[root@centos]cd /etc/pki/CA touch index.txt
[root@centos]echo 10 > serial
#生成私钥
[root@centos](umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
#自签证书
[root@centos]cd /etc/pki/CA
[root@centos]openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300

填写CA信息

基于haproxy的全站https

基于haproxy的全站https

2.客户端申请CA

生产私钥
[root@centos](umask 066;openssl genrsa -out /etc/pki/tls/private/test.key 1024)
生成申请文件
[root@centos]openssl req -new -key /etc/pki/tls/private/app.key -day 365 -out /etc/pki/tls/test.csr

填写CA信息(一定要和CA机中填写的一致)

基于haproxy的全站https

基于haproxy的全站https

将 test.csr 文件拷贝到CA机 /tmp 目录下(scp test.csr 172.18.32.1)

在CA机上批准颁发证书

[root@centos]openssl ca -in /tmp/test.csr -out /etc/pki/CA/certs/test.crt -days 100

certs 目录下已经生成证书文件(test.crt)

再拷回客户端就可以了。

第二步:配置Nginx服务器

#nginx1
[root@centos] cd /app
[root@centos]wget http://nginx.org/packages/centos/5/x86_64/RPMS/nginx-1.10.3-1.el5.ngx.x86_64.rpm
[root@centos] yum localinstall nginx-xxxxxx
[root@centos] service nginx start
[root@centos] echo "Test Page" > /usr/share/nginx/html/index.html

#nginx2
[root@centos] cd /app
[root@centos]wget http://nginx.org/packages/centos/5/x86_64/RPMS/nginx-1.10.3-1.el5.ngx.x86_64.rpm
[root@centos] yum localinstall nginx-xxxxxx
[root@centos] service nginx start
[root@centos] echo "Test Page" > /usr/share/nginx/html/index.html

第三步:修改haproxy配置

首先生成一个pem文件供haproxy使用

[root@centos] cat /app/test.crt  > test.pem
[root@centos] cat /app/test.key  >> test.pem

在修改hapeoxy配置

[root@centos] vim /etc/haproxy/haproxy.cfg

global
    log            127.0.0.1 local2
    chroot       /var/lib/haproxy
    pidfile        /var/run/haproxy.pid
    maxconn     4000
    user         haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
defaults
    mode                   http
    log                       global
    option                  httplog
    option                  dontlognull
    option                  http-server-close
    option    forwardfor    except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
frontend  nginx *:80
    bind *:443 ssl crt /app/https.pem
    bind *:80
    redirect scheme https if !{ ssl_fc }       #将所有http协议转为https协议
    default_backend web
    #acl invalid_src src 192.168.37.130
    #http-request allow if  invalid_src 
backend web
    balance     roundrobin
    server web1   192.168.37.135:80 check
    server web2   192.168.37.134:80 check
listen stats
        bind :9099
        stats enable
        stats uri /stats
        stats realm HAPorxy\ Stats\ Page
        stats auth admin:admin
        stats admin if TRUE
        stats hide-version

第四步:测试

测试访问http://192.168.37.133

会看到自动跳转到https了,此处会出现未认证证书的报错,忽略即可。

就算把CA证书导入浏览器,因为我们得CA是自己搭建的,是未被互联网信任的,所有仍会在地址前打×,所以,还是去购买一个认证吧。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创投42章经

创投42章经

曲凯 / 中信出版集团 / 2018-10-20 / 58.00

《创投42章经》是拥有百万粉丝的微信公众号“42章经”的精选文章合集,全书共分为心法、内功、招式和江湖传奇四部分。 在心法部分,读者可以学到一些创业与投资的底层思维方式;在内功部分,读者可以了解到,投资人看待一家公司经营状况的标准;在招式部分,读者可以看到作者作为一名资深投资人和睿智的观察者,对过去几年主要的公司、模式以及风口的判断;最后的江湖传奇部分,作者通过一些故事,帮助读者更好地理解当......一起来看看 《创投42章经》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具