рдЕрдкрд╛рдЪреЗ HTTP рд╕рд░реНрд╡рд░: рдПрдХ рд╣реА рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдХрдИ HTTPS рд╣реЛрд╕реНрдЯ рдХреА рд╕реЗрд╡рд╛

рдЬрдм рд╕рд░реНрд╡рд░ рдХреЛ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╣реА рднреМрддрд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдкрд░ HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрд╕реА CentOS 5.6 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдорд╛рдирдХ Apache-2.2.19 рдкрд░ рд░рд╣рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
рдореБрдЭреЗ CentOS рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ред

рд╕рд┐рджреНрдзрд╛рдВрдд


рдЖрд░рдПрдлрд╕реА 4366 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЦрдВрдб 3.1ред рд╕рд░реНрд╡рд░ рдирд╛рдо рд╕рдВрдХреЗрдд рд╕рдВрднрд╡ рд╣реИред
рдЙрдЪрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ (рдмреНрд░рд╛рдЙрдЬрд╝рд░) рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрднреНрдпрд╛рд╕


рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ SNI рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдорд░реНрдерди рдХреЛ Apache HTTP рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 2.2.12 рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рд╡рд░рдг рдЕрдкрд╛рдЪреЗ рд╡рд┐рдХреА рдореЗрдВ рд╣реИрдВ ред
рдХрд╛рд░реНрдп рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ OpenSSL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рдВрд╕реНрдХрд░рдг 0.9.8f рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ CentOS 5.6 OpenSSL рд╕рдВрд╕реНрдХрд░рдг 0.9.8e рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИ, рдФрд░ "рдЙрдард╛рдирд╛" рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЕрдиреНрдп рдШрдЯрдХ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред
рдкреИрдХреЗрдЬ рдЯреНрд░реА рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдЕрд▓рдЧ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдФрд░ рдЕрдкрд╛рдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рднрд░ рдореЗрдВ рдЖрдпрд╛: рдЧреНрд░реВрдЯрд▓реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ mod_gnutls рдореЙрдбреНрдпреВрд▓ред
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЧреНрд░реВрдЯрд▓реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рдореМрдЬреВрдж рд╣реИ рдФрд░ рдмрд╣реБрдд рдкреБрд░рд╛рдиреА рднреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирддреАрдЬрддрди, "рддрд╛рдЬрд╛" рдЧрдЯрд░рд▓реНрд╕ рдФрд░ mod_gnutls рдкреИрдХреЗрдЬ рдЗрдХрдЯреНрдареЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдмрд╛рдХреА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреАред рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдХреИрдЯ рд╡рд┐рд╡рд░рдг рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рддрд╣рддред

рдкреИрдХреЗрдЬ рд╡рд┐рдзрд╛рдирд╕рднрд╛


рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ * -рд╡реЗрд▓ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдирд╣реАрдВ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
  1. рдлреЗрдбреЛрд░рд╛ рдХреЛрд░ 15 рдмрдВрдбрд▓ ( рдлреЗрдбреЛрд░рд╛ рдорд┐рд░рд░ рд▓рд┐рд╕реНрдЯ ) рд╕реЗ рдореИрдВрдиреЗ рдкреИрдХреЗрдЬ рд▓рд┐рдпрд╛:
    libtasn1-2.7-2.fc15.src.rpm
    GNUTLS-2.10.5-1.fc15.src.rpm
  2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдо рдкреЗрдЬ ( mod_gnutls ) рд╕реЗ рдореИрдВрдиреЗ рдореЙрдбреНрдпреВрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдпрд╛ред
  3. рд╕реНрдерд╛рдкрд┐рдд рд╕реНрд░реЛрдд рд╕рдВрдХреБрд▓ (- nndd5 рдХреБрдВрдЬреА рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЕрдЧрд░ cpio md5 рдмреЗрдореЗрд▓ рдкрд░ рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ srpm рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реИ)
    rpm -ivh --nomd5 libtasn1-2.7-2.fc15.src.rpm
    rpm -ivh --nomd5 gnutls-2.10.5-1.fc15.src.rpm
  4. рд╕реНрд░реЛрдд рдХреЛрдб рд╕рдВрдЧреНрд░рд╣ (mod_gnutls-0.5.9.tar.bz2) / usr / src / redhat / SOURCES рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ред
  5. In / usr / src / redhat / SPECS рдиреЗ mod_gnutls.spec рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИред рдЖрдзрд╛рд░ mod_gnutls.spec рд╕реЗ http://dev.centos.org/centos/5/testing/SRPMS/mod_gnutls-0.2.0-1.el5.centos.src.rpm рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА ( mod_gnutls.spec )ред
  6. рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛рдП рдЧрдП рдкреБрд░рд╛рдиреЗ рдкреИрдХреЗрдЬ:
    yum рдорд┐рдЯрд╛рдирд╛ gnutls libtasn1
  7. рд╕рдВрдХрд▓рд┐рдд libtasn1 :
    rpmbuild -bb --clean /usr/src/redhat/SPECS/libtasn1 .spec
  8. Libtasn1 рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:
    рдпрдо рд╕реНрдерд╛рдиреАрдп рд╕реНрдерд╛рдкрдирд╛ --nogpgcheck/usr/src/redhat/RPMS/x86_64/libtasn1-*.rpm
  9. рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рд╣реБрдЖ рдЕрдВрдЧреВрд░ :
    rpmbuild -bb --clean /usr/src/redhat/SPECS/gnutls.spec
  10. рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЧрд┐рд░реНрдЯрд▓ рдкреИрдХреЗрдЬ:
    yum localinstall --nogpgcheck/usr/src/redhat/RPMS/x86_64/gnutls-*.rpm
  11. рдореИрдВрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдХреЗ рд▓рд┐рдП /usr/lib64/pkgconfig/gnutls.pc рдлрд╝рд╛рдЗрд▓ рд╕реЗ zlib рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рд╕реНрдерд╛рдкрд┐рдд zlib-devel рдореЗрдВ pkg-config рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИред
  12. рдЗрдХрдЯреНрдареЗ mod_gnutls :
    rpmbuild -bb --clean /usr/src/redhat/SPECS/mod_gnutives.spec
  13. рд╕реНрдерд╛рдкрд┐рдд mod_gnutls рд╕рдВрдХреБрд▓:
    yum localinstall --nogpgcheck/usr/src/redhat/RPMS/x86_64/mod_gnutls-*.rpm

рдкреНрд▓рдЧрдЗрди рд╡рд┐рдиреНрдпрд╛рд╕


рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрд╕рдХрд╛ рдЕрдкрдирд╛ рдХреИрд╢ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ GnuTLSCache рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рд╕реЗрд▓рд┐рдирдХреНрд╕ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдиреАрддрд┐ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
semanage fcontext -a -f "" -t httpd_cache_t "/var/cache/mod_gnutls_cache(/*"? "
рдЖрдкрдХреЛ рдХреИрд╢ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрд╕реЗ рдЕрдзрд┐рдХрд╛рд░ рд╕реМрдВрдкрдиреЗ рдЪрд╛рд╣рд┐рдП:
mkdir / var / cache / mod_gnutls_cache
chown apache: apache / var / cache / mod_gnutls_cache
chmod 700 / var / cache / mod_gnutls_cache
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/httpd/conf.d/mod_gnutls.conf рдореЗрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ mod_gnutls.conf

## Documentation Link: ## http://www.outoforder.cc/projects/apache/mod_gnutls/docs/ ## Load the module into Apache. LoadModule gnutls_module modules/libmod_gnutls.so ## Set Certificate MIME-types, may instead be in ssl.conf AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl ## Set TLS Cache info GnuTLSCache dbm "/var/cache/mod_gnutls_cache/server1_test_net.dbm" GnuTLSCacheTimeout 300 ## 

рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд┐рдВрджреБ рд╣реИрдВ:

VirtualHost рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрджрд╛рд╣рд░рдг

 Listen 80 Listen 443 NameVirtualHost *:80 NameVirtualHost *:443 ServerName defsrv.home.net #         (http://www.home.net) <VirtualHost _default_:80> Redirect permanent / http://www.home.net/ </VirtualHost> # SSL-      ! <VirtualHost _default_:443> GnuTLSEnable on GnuTLSPriorities NORMAL GnuTLSCertificateFile /etc/httpd/certs/defsrv_home_net.crt GnuTLSKeyFile /etc/httpd/certs/defsrv_home_net.key Redirect permanent / https://www.home.net/ </VirtualHost> <VirtualHost *:80> ServerName www.home.net:80 UseCanonicalName On ServerAdmin webmaster@www.home.net DocumentRoot /srv/www.home.net #  </VirtualHost> <VirtualHost *:443> ServerName www.home.net:443 UseCanonicalName On ServerAdmin webmaster@www.home.net DocumentRoot /srv/www.home.net GnuTLSEnable on GnuTLSPriorities NORMAL GnuTLSCertificateFile /etc/httpd/certs/www_home_net.crt GnuTLSKeyFile /etc/httpd/certs/www_home_net.key #  </VirtualHost> <VirtualHost *:80> ServerName test.home.net:80 UseCanonicalName On ServerAdmin webmaster@test.home.net DocumentRoot /srv/test.home.net #  </VirtualHost> <VirtualHost *:443> ServerName test.home.net:443 UseCanonicalName On ServerAdmin webmaster@test.home.net DocumentRoot /srv/test.home.net GnuTLSEnable on GnuTLSPriorities NORMAL GnuTLSCertificateFile /etc/httpd/certs/test_home_net.crt GnuTLSKeyFile /etc/httpd/certs/test_home_net.key #  </VirtualHost> 


рд╕реНрдкреЗрдХ рдлрд╝рд╛рдЗрд▓ ( mod_gnutls.spec )

 Summary: mod_gnutls is a DSO module for the apache Web server. Name: mod_gnutls Version: 0.5.9 Release: 1%{?dist} Group: System Environment/Daemons URL: http://www.outoforder.cc/projects/apache/mod_gnutls/ Source: http://www.outoforder.cc/downloads/mod_gnutls/%{name}-%{version}.tar.bz2 Source1: mod_gnutls.conf License: Apache Software License BuildRoot: %{_tmppath}/%{name}-root BuildRequires: httpd-devel > 2.0.42 BuildRequires: gnutls >= 1.2.0, gnutls-devel >= 1.2.0, gnutls-utils >= 1.2.0, apr-devel Requires: httpd-mmn = %(cat %{_includedir}/httpd/.mmn || echo missing httpd-devel) Requires: gnutls >= 1.2.0, httpd >= 2.0.42 %description mod_gnutls uses the GnuTLS library to provide SSL v3, TLS 1.0 and TLS 1.1 encryption for Apache HTTPD. It is similar to mod_ssl in purpose, but does not use OpenSSL. %prep %setup -q %build %configure --disable-srp make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir}/httpd/modules install -m755 src/.libs/lib%{name}.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules # Install the config file mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d install -m 644 %{SOURCE1} \ $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf #Create a cache directory mkdir -p -m 0700 $RPM_BUILD_ROOT%{_var}/cache/mod_gnutls_cache %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc LICENSE NOTICE README %{_libdir}/httpd/modules/*.so %config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf %attr(0700, apache, apache) %{_var}/cache/mod_gnutls_cache 

Source: https://habr.com/ru/post/In124864/


All Articles