RH358学习笔记--8(配置Web服务器学习)

配置Web服务器

一、使用Apache HTTPD配置基本Web服务器

(1)安装Apache HTTP服务器

[root@servera ~]# yum -y install httpd

httpd模块支持三个配置文件:
 common:提供生产就绪部署(默认)
 minimal:提供可以运行Apache web服务器的最小软件包集
 devel:提供修改HTTPD所需的包

[root@servera ~]# yum module install httpd:2.4/common
(2)配置Apache HTTP服务器

Apache HTTP Server读取它的配置如下:
 /etc/httpd/conf/httpd.conf 主配置文件。
 /etc/httpd/conf.d/ 它提供了补充配置文件,包括在httpd.conf,且文件名以.conf 结尾。
 /etc/httpd/conf.modules.d/ 提供了用于动态加载Apache模块的补充配置文件,且文件名以.conf结尾。

 文件的下一部分将设置应用到服务器的各个部分,影响从特定位置提供内容的方式,等等。
<Directory />
      AllowOverride none
      Require all denied
</Directory>
# <Directory>块设置了应用于指定目录及其子目录的配置指令。

<Directory "/var/www">
     AllowOverride None
     Require all granted
</Directory>
<Directory "/var/www/html">
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
</Directory>
<IfModule dir_module>
      DirectoryIndex index.html
</IfModule>
# 如果Apache dir_module模块被加载(默认),那么应用这些指令。DirectoryIndex指令指定如果一个URL被请求指向一个目录和一个index.html文件存在于该目录中,将该文件提供给客户端。

<Files ".ht*">
     Require all denied
</Files>
# <Files>的工作方式类似于<Directory>块,但是应用于单个文件。在这种情况下,它阻止httpd提供敏感文件,如.htaccess和.htpasswd

(3)启动Apache HTTP服务器

[root@servera ~]# systemctl enable --now httpd

 安装httpd包和httpd-manual包。

[root@servera ~]# yum -y install httpd httpd-manual

按要求修改各种

(4)配置Apache HTTPD虚拟主机

使用<virtua lHost>块指令覆盖虚拟主机主配置文件中的设置。每个虚拟主机都有自己的块。
在/etc/httpd/ conf.d/中单独的以.conf结尾的配置文件中配置虚拟主机是一种很好的做法。

 <VirtualHost _default_:80>
        DocumentRoot /srv/default/www
       CustomLog "logs/default-vhost.log" combined
       <Directory /srv/default/wwww>
         Require all granted
       </Directory>
</VirtualHost>

(5)使用 Apache HTTPD 配置 HTTPS

描述 TLS 协议:
 TLS (Transport Layer Security)是HTTPS协议中用来保护web流量的真实性、保密性和完整性免遭攻击的协议。
 TLS使用公钥加密建立安全的TLS会话。一个密钥能加密的,只有它匹配的密钥才能解密。
 每个服务器都必须安装TLS证书。该证书包含关于该证书属于哪个服务器、过期时间以及密钥对的一半的信息;公共密钥。它还由证书颁发机构(CA)进行数字签名,该签名可用于验证服务器证书的真实性。服务器还必须安装与证书的公钥相匹配的私钥。
 当客户端连接到服务器并请求TLS会话时,它们执行一次初始握手,以就双方都可以支持的一组加密密码达成一致。服务器提供客户端客户机使用证书中的信息和CA的签名对其进行验证。然后客户端使用公钥与服务器进行安全通信,并使用它建立一个更快的会话密钥,该会话密钥可用于快速加密和解密数据,然后用于实际的安全会话。

(6)配置基于 TLS 虚拟主机

 使用TLS的虚拟主机与常规虚拟主机的配置方式相同,只是有一些附加参数。

 <VirtualHost _default_:443>
    ErrorLog logs/ssl_error_log
   TransferLog logs/ssl_access_log
    LogLevel warn
   SSLEngine on
   SSLProtocol all -SSLv2 -SSLv3
   # 指定httpd可以用来与客户端通信的协议列表。您至少应该禁用已知安全问题的SSLV2和SSLV3。
   SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    # 列出httpd在与客户端通信时可以使用的加密密码。密码的选择会严重影响性能和安全性。
   SSLHonorCipherOrder on
   # 确保服务器选择ssLciphersuite列表中前面出现的密码。因此,应该首先列出最安全的密码。
   SSLCertificateFile /etc/pki/tls/certs/localhost.crt
   SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
   CustomLog logs/ssl_request_log
   "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>

(7)HTTP客户端重定向到HTTPS站点

要设置这些重定向,请为与TLS保护的虚拟主机相同的ServerName和serverAlias配置一个HTTP虚拟主机。得到的虚拟主机可能看起来像这样:

原文地址:https://www.cnblogs.com/yyuuee/p/15134146.html