我已经在 ubuntu 服务器上设置了 Haproxy、varnish 和 apache2,并且有多个使用 http 和 https 运行的网站。
以下设置配置如下:
---443--> |
| HAProxy ------>Varnish(8081) ----------> apache2(8080)
---80---> |
haproxy配置文件
frontend http-example
bind *:80
frontend https-example
bind *:443 ssl crt /etc/letsencrypt/live/example.in/example.pem
mode http
http-request set-header X-Forwarded-Proto https
default_backend example
backend example
stick-table type binary len 32 size 30k expire 30m
acl clienthello req_ssl_hello_type 1
acl serverhello rep_ssl_hello_type 2
tcp-request inspect-delay 5s
tcp-request content accept if clienthello
tcp-response content accept if serverhello
stick on payload_lv(43,1) if clienthello
stick store-response payload_lv(43,1) if serverhello
server varnish 127.0.0.1:8081 check
计划:
HAproxy:在这里我必须配置,如果用户执行exmaple.com
然后www.example.in
重定向到https://example.in
-For https
如果example1.in
则重定向到www.exmaple1.in
等等。