haproxy原理理解 + -->https-->https(web)

1.haproxy使用最需要注意的点:
1.1连接数:
前端maxconn默认值为2000,非常有必要将其增加几倍。
1.2超时时间
timeout connect         60s     # haproxy和服务端建立连接的最大时长,设置为1秒就足够了。局域网内建立连接一般都是瞬间的
参考:http://www.cnblogs.com/f-ck-need-u/p/8540805.html

 

frontend webserver
bind 0.0.0.0:80 #在本机的所有接口监听访问 80 端口的请求

MySQL集群在HAproxy之后运行,HAproxy对进来请求进行负载均衡,对外只暴露一个IP地址。

haproxy反向代理设置:

global
daemon
maxconn 25600
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:800
default_backend servers
backend servers
balance roundrobin #负载均衡模式轮询
server server1 192.168.1.102:80 cookie A check
server server2 192.168.1.104:80 cookie B check

 

根据用户访问内容实现动静分离:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
frontend http-in
    bind *:80
    mode http
    log global
    option httpclose
    acl url_static path_beg -i /static /images /javascript /stylesheets
    acl url_static path_end -i .jpg .jpeg .gif .png .css .js
    use_backend static_servers if url_static
    default_backend dynamic_servers
backend static_servers
    balance roundrobin
    server imgsrv1 172.18.64.7:80 check maxconn 6000
    server imgsrv2 172.18.64.107:80 check maxconn 6000
backend dynamic_servers
    balance source
    server websrv1 172.18.64.17:80 check maxconn 1000
    server websrv2 172.18.64.106:80 check maxconn 1000

http://www.cnblogs.com/heiye123/articles/7928292.html

################################################

2.haproxy服务器本身只提供代理,没有ssl证书 (一般我们常用的就是这种方式)

 

这种方式,haproxy不需要重新编译支持ssl,简单方便,只需要后面的web服务器配置好ssl即可。

配置参数(修改haproxy.cfg文件)

复制代码
frontend https_frontend
  bind *:443
  mode tcp
  default_backend web_server

backend web_server
  mode tcp
balance roundrobin
  stick-table type ip size 200k expire 30m
  stick on src
  server s1 192.168.1.150:443
  server s2 192.168.1.151:443

---------------------------------------------------------
注意,这种模式下mode 必须是tcp 模式
---------------------------------------------------------
复制代码

cp自http://www.mamicode.com/info-detail-1539510.html  和 https://blog.csdn.net/qq_32485197/article/details/81334974

posted @   littlevigra  阅读(1069)  评论(2编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示