Apache httpd 2.4.29, собранный с OpenSSL 1.1.0g, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.29 с поддержкой http2 для Red Hat Enterprise Linux и CentOS. Mod_ssl собран статически с OpenSSL 1.1.0g. Ссылки:

Да, мы перешли на сборку Apache httpd c OpenSSL 1.1.0.

Заметим, что модуль Http2 Apache httpd с версии 2.4.27 не поддерживает prefork mpm. Ранее, в версии 2.4.26, мы наблюдали крахи с prefork и решили не выкладывать наши билды из-за них.
Если вам нужен модуль mod_http2, отключите prefork mpm, включите worker mpm в /etc/httpd/conf.modules.d/00-mpm.conf

Это действите уже сделано в файле, который мы поставляем в пакете. Если вы обновляете вашу инсталляцию, обновите файл.

Для работы с SELinux установите следующий boolean:

setsebool -P httpd_execmem=1

Для инсталляции проще воспользоваться нашим репозиторием. Обращаю ваше внимание на тот факт, что в зависимостях пакета присутствуют apr-util 1.5.0+ и libnghttp, которые я бы рекомендовал взять из репозитория EPEL. Таким образом, для использования Apache HTTPd проще всего подключить репозиторий EPEL:

yum install -y epel-release

Apache httpd 2.4.29, собранный с OpenSSL 1.1.0g, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS: 19 комментариев

    1. Hi Binyamin!

      Idea to build Apache httpd with statically linked OpenSSL 1.0.2 / 1.1.0 was successful because we don’t need to replace system OpenSSL. Of course we easily build OpenSSL 1.0.2 or 1.1.0 on EL 7 platform but if you really plan to replace officially supplied version, many many things will be broken.

      And yes, if you need it, it will be ok to keep it in /usr/local (this will be so if you will simply build it without any configuration) so it won’t affect your system.

      I don’t think we will support standalone OpenSSL version as soon as we link it statically.

  1. Hello,

    thank you for your work. I have question. I’m trying enable http 2.0 for virtual host. But I’m not sucessful. In online test sites server is Http2.0 ready — but when I see requests in browser via network console I see that http 1 is used only.
    Can you say me why please?

    Protocols h2 http/1.1
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
    ….

    Thanks

    Pavel

    1. Hello Pavel,

      First, you need to check if your browser is compiled against TLS 1.0.2+ compatible libraries. So we need more details like OS/version, browser and its version and full URL you are checking.

      I suspect problem can be on your side or network (e.g. transparent proxies can break TLS ALPN negotiation).

          1. Thanky for your check. Where can be problem please? I tried other computer now + Chrome. WIthout effect. Still http 1.0. Any idea for this?

  2. Hi,
    I am trying to compile Apache 2.4.33 with OpenSSL 1.1.0h. But i keep getting this error message. I have been trying to go pass this issue for last 2 weeks. Can you please advice what i should be doing here ? Apologies if it is outside of the work published here.

    libapr-1.la -luuid -lrt -lcrypt -lpthread -lm -lssl -lcrypto -luuid -lrt -lcrypt -lthread
    ab.c: In function `ssl_print_cert_info’:
    ab.c:649 undefined reference to `X509_get_version’
    ab.c:651 undefined reference to `X509_getm_notBefore’
    ab.c:655 undefined reference to `X509_getm_notAfter’
    ab.c:571 undefined reference to `SSL_in_init’
    ab.c:571 undefined reference to `SSL_is_server’
    x509.h:97 undefined reference to `OPENSSL_sk_num’
    x509.h:97 undefined reference to `OPENSSL_sk_value’
    ab.c:1941 undefined reference to `SSL_in_init`
    …..


    collect2: ld returned 1 exit status
    make[2] *** [ab] Error 1
    make[2]: Leaving directory ‘/local/apache24buildx64/http-2.4.33/support’
    make[1]: *** [install-recursive] Error 1
    make[1]: Leaving directory ‘/local/apache24buildx64/httpd-2.4.33/support’
    make: *** [install-recursive] Error 1

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *