2023年3月

Haproxy 服务启动 SSL

如果没有启用SSL,参考: 《编译 Haproxy 支持 SSL》

[root@GZ-P-L-HA-11 ~]# haproxy -vv | grep OpenSSL
Built with OpenSSL version : OpenSSL 1.1.1a  20 Nov 2018
Running on OpenSSL version : OpenSSL 1.1.1a  20 Nov 2018
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3


SSL证书合并

像Nginx配置ssl有两个证书文件,一个ssl_certificate公钥 与 ssl_certificate_key私钥。
Haproxy配置ssl需要将这两个证书文件合并到一个文件。

cat api.linuxhub.cn_bundle.crt api.linuxhub.cn.key | tee api.linuxhub.cn.pem


Haproxy配置

配置很简单

bind *:443 ssl crt /etc/haproxy/ssl/api.linuxhub.cn.pem


多个域名

bind *:443 ssl crt /etc/haproxy/ssl/api.linuxhub.cn.pem crt /etc/haproxy/ssl/www.linuxhub.cn.pem


样例

############## web 网站 #################
frontend web_in
      
       bind *:80
           
          ######## https 域名证书配置 #############
      bind *:443 ssl crt /etc/haproxy/ssl/api.linuxhub.cn.pem crt /etc/haproxy/ssl/www.linuxhub.cn.pem

       ######## acl策略配置 #############
       acl ZEZE_WWW hdr_beg(host) www.linuxhub.cn
       acl ZEZE_API hdr_beg(host) api.linuxhub.cn
       
       ######### acl策略匹配相应 ############# 
       use_backend zeze_api if  ZEZE_API
       use_backend zeze_www if  ZEZE_WWW           
       default_backend  zeze_api

backend zeze_api
        mode http
        option forwardfor
        balance roundrobin
        timeout server   60s
        option httpchk HEAD /stat
        server GZ-P-L-JAVA-11 192.168.10.11:8081 check
        server GZ-P-L-JAVA-12 192.168.10.12:8081 check

backend zeze_www
        mode http
        option forwardfor
        balance roundrobin
        timeout server          60s
        option httpchk HEAD /stat
        server GZ-P-L-JAVA-11 192.168.10.11:8082 check
        server GZ-P-L-JAVA-12 192.168.10.12:8082 check
其它

另外HAProxy SNI 也可以实现haproxy ssl 的代理。
大概工作流程:当HAProxy通过HTTPS流量时,它简单地将原始TCP流发送到具有证书并处理加密和解密的后端。

Mac通过命令行安装ipa包到ios手机,可以在终端通过第三方库libimobiledevice安装。libimobiledevice 是一个跨平台的软件库,支持 iPhone, iPod Touch, iPad and Apple TV等设备的通讯协议,不需要越狱。

 

1. 安装包插件管理工具homebrew

未安装homebrew的同学可参考:MAC-安装套件管理工具Homebrew

2. 安装libimobiledevice

brew install -HEAD libimobiledevice
brew install ideviceinstaller
安装ipa包到ios手机

1. 下载ipa包到Mac上

2. ios手机通过usb连接Mac

3. 查看设备已连接

idevice_id -l 
备注:展示设备号即ios手机成功连接Mac

4. 安装ipa包到ios手机

ideviceinstaller -i <ipa包路径>  # 直接拖拽ipa包到终端即可获得路径
5. 多设备连接,安装ipa包到指定设备

ideviceinstaller -u <设备号> -i <ipa包路径>
ideviceninstaller常用命令

备注:多设备连接时,可使用 “-u” 指定设备号,例(指定设备安装ipa包):ideviceinstaller -u <设备号> -i <ipa包路径>

查看连接设备

idevice_id -l  # 可获得设备号
安装ipa包

ideviceinstaller -i <ipa包路径>
覆盖安装ipa包

ideviceinstaller -g <ipa包路径>
查看设备app信息

ideviceinstaller -l
卸载app

ideviceinstaller -l  # 返回信息中获取目标app包名
ideviceinstaller -U <包名>  # 卸载目标app
 查看设备udid

idevice_id -l