如何使用SSL证书设置Apache HTTP(详细步骤图解)

本文概述

  • 从源代码安装带有SSL的Apache
  • 获取SSL证书
  • Apache SSL配置
Apache HTTP仍然是最繁忙的站点所使用的Web服务器的市场领导者。
如何使用SSL证书设置Apache HTTP(详细步骤图解)

文章图片
你可以看到Nginx正在逐渐恢复, 因此如果你要进行系统/网络/中间件管理;然后你就知道了Apache和Nginx Web服务器。
但是, 在本文中, 我将仅介绍Apache Web Server。
一旦实施SSL, 就可以通过HTTPS访问配置的域/ IP。让我们开始吧。
在高层次上, 我们将执行以下操作。
  • 使用SSL模块编译Apache HTTP 2.4.5
  • 获取SSL证书
  • 配置Apache以支持SSL
从源代码安装带有SSL的Apache 要配置SSL, 必须使用mod_ssl编译Apache HTTP。我将使用Digital Ocean的CentOS 7 VM进行演示。
  • 使用root登录到Linux服务器并下载最新版本的Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

  • 用gunzip命令提取
gunzip -c httpd-2.4.25.tar.gz | tar xvf -

  • 你将拥有新的文件夹” httpd-2.4.25″
  • 进入并执行以下配置命令
./configure --enable-ssl –-enable-so

注意:如果你在全新的服务器上执行此操作, 则可能会遇到与APR, PCRE, OpenSSL相关的问题, 并且可以参考《故障排除指南》。
确保上面的configure命令没有任何错误, 接下来要使用make命令进行安装。
makemake install

与往常一样, 请确保上述命令没有错误。这表明你已经安装了具有SSL支持的Apache Web服务器。
获取SSL证书 有多种方法可以生成和获取由证书颁发机构签名的SSL证书。
如果你希望在Intranet Web服务器中实现SSL, 那么大多数组织都有内部证书颁发者团队, 因此你必须与他们联系。
但是, 你仍然需要生成CSR(证书签名请求), 并且可以使用OpenSSL进行。
【如何使用SSL证书设置Apache HTTP(详细步骤图解)】但是, 如果你希望保护面向Internet的URL, 则可以从VeriSign, GoDaddy, Namecheap等购买证书, 也可以从Let’ s Encrypt获得免费证书。
Let’s Encrypt是一个Linux Foundation协作项目, 它提供免费的SSL / TLS证书。我将使用” 加密” 来获取我的域的一个证书– Chandan.io
生成CSR的方法有多种, 但我发现最简单的方法是使用” 免费的SSL” 在线工具。
输入你要保护的URL
如何使用SSL证书设置Apache HTTP(详细步骤图解)

文章图片
通过列出的方法之一验证域所有权, 然后下载域证书文件。
如何使用SSL证书设置Apache HTTP(详细步骤图解)

文章图片
你将获得三个文件, 接下来我们将使用它们来配置Apache Web服务器。
  1. 密钥-这是你的密钥文件, 不应与任何人公开共享
  2. 证书–你网域的实际SSL证书
  3. Ca_bundle –签名者根/中间证书
将下载的文件传输到Web服务器。我们很快将需要它们。
Apache SSL配置 最后一步是配置Apache, 以便它可以通过HTTPS服务请求。
  • 登录到Apache Web服务器
  • 备份httpd.conf文件(默认位置/ usr / local / apache2 / conf /)
  • 使用vi编辑器打开文件, 并确保mod_ssl模块和httpd-ssl.conf存在并且未注释。
LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf

我们将使用httpd-ssl.conf文件配置证书详细信息。接下来, 你需要确保它存在正确的参数。
  1. SSLCertificateFile –先前下载的证书CRT文件路径
  2. SSLCertificateKeyFile – private.a密钥文件路径
  3. SSLCertificateChainFile – ca_bundle.crt文件路径
提示:你可能要创建一个名为” ssl” 的新文件夹, 并将所有与证书相关的文件保留在其中。
  • 如果需要, 请进行备份, 然后使用vi编辑器修改文件。
SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

接下来, 你需要配置” ServerName” 指令。通常是你的域名/ URL名称
ServerName chandan.io

  • 保存文件并重新启动Apache Web服务器
cd /usr/local/apache2/bin./apachectl stop./apachectl start

最后, 你必须确保将域映射到新配置的Web服务器IP。完成后, 尝试使用https访问你的域。
如何使用SSL证书设置Apache HTTP(详细步骤图解)

文章图片
如你所见, 可以使用我配置的证书通过https访问Chandan.io。
上面的步骤对于设置SSL证书是必不可少的, 并且你必须进一步调整SSL以加强和保护这一点, 我在这里进行了解释。
在上线之前, 你可能还想测试Web服务器SSL / TLS, 以确保它不会暴露于常见的安全漏洞。
我希望这可以为你提供一个如何在Apache Web服务器上实现SSL证书的想法, 以便可以通过HTTPS访问URL。
如果你不熟悉Apache Web服务器, 那么我建议你参加此在线课程。

    推荐阅读