安装 HAProxy 和 AWS-LC

采用 AWS-LC 1.39.0 是因为截至本次编辑(2025-03-31)前,HAProxy 最近一次与 AWS-LC 同步是 2024-11-26。根据 AWS-LC 的更新日志来看,当时的最新版本应该是 1.39.0

cmake -GNinja \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DCMAKE_INSTALL_PREFIX=/opt/aws-lc \
    ../aws-lc-1.39.0

ninja run_tests && sudo ninja install

// 有些情况下 ninja run_tests 会莫名其妙的出问题。如果不怕服务器爆炸的话可以把安装指令改成

sudo ninja install

// 实测也能跳过测试正常安装与使用。
sudo dnf install lua-devel pcre2-devel

make -j $(nproc) \
    TARGET=linux-glibc \
    USE_OPENSSL_AWSLC=1 \
    USE_LUA=1 \
    USE_SYSTEMD=1 \
    USE_PROMEX=1 \
    USE_QUIC=1 \
    USE_OPENSSL=1 \
    USE_SLZ=1 \
    USE_PCRE2=1 \
    USE_PCRE2_JIT=1 \
    USE_TFO=1 \
    USE_ENGINE=1 \
    USE_NS=1 \
    USE_THREAD=1 \
    USE_CPU_AFFINITY=1 \
    USE_LINUX_TPROXY=1 \
    USE_ACCEPT4=1 \
    SSL_INC=/opt/aws-lc/include \
    SSL_LIB=/opt/aws-lc/lib64 \
    LDFLAGS="-Wl,-rpath,/opt/aws-lc/lib64"
    CPU_CFLAGS=-march=native
    march=native