尝试为 apache 配置 ssl

尝试为 apache 配置 ssl

我在 RHEL 7 上安装了 Apache 2.4.6,无需 SSL 即可正常工作。由于我是第一次这样做,所以我有几个问题:

这里的医生说我的 SSL 配置(我相信httpd.conf)必须包含以下条目:

LoadModule ssl_module modules/mod_ssl.so

Listen 443
<VirtualHost *:443>
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "/path/to/www.example.com.cert"
    SSLCertificateKeyFile "/path/to/www.example.com.key"
</VirtualHost>

我已经搜索了我的httpd.conf线路<VirtualHost>LoadModule找不到它。我假设他们可能已经注释掉了,我需要取消注释并进行更改,但这两行都不存在。

1)我可以将以上两个条目复制并粘贴到文件末尾并进行配置,还是我没有看到上面注释掉的内容是异常的事情?

2)从哪里我可以知道我是否存在mod_ssl.so于我的 Apache 中的某个地方?

3)现在,我的监听定义如下:我的服务器IP地址在Listen XX.XX.XXX.XX:80哪里。XX.XX.XXX.XX我应该将其注释掉并完全更改为XX.XX.XXX.XX:443吗?文档只是说了Listen 443,因此我很困惑。

谢谢

答案1

1> 你只需附加到您的/etc/httpd/conf/httpd.conf,但最好将此特定虚拟主机的配置放在 或 中其自己的配置文件中/etc/httpd/conf.d/example.com.ssl.conf/etc/httpd/sites-available在 中具有相应的符号链接/etc/httpd/sites-enabled),具体取决于系统的 Apache 配置范例的布局方式(前者是 RHEL ;后者是 Debian)。

2> 最简单的方法是简单的grep(grep -R '[^#]*mod_ssl\.so' /etc/httpd/*例如,查找对该模块的任何未注释掉的引用。

3> 从阿帕奇文档

聆听指令

描述:服务器监听的IP地址和端口

句法: Listen [IP-address:]portnumber [protocol]

Listen 指令指示 Apache httpd 仅监听特定的 IP 地址或端口;默认情况下,它响应所有 IP 接口上的请求。 Listen 现在是一个必需的指令。如果它不在配置文件中,服务器将无法启动。这是对 Apache httpd 早期版本的更改。

Listen 指令告诉服务器接受指定端口或地址和端口组合上的传入请求。如果仅指定端口号,服务器将侦听所有接口上的给定端口。如果给定了 IP 地址和端口,服务器将侦听给定的端口和接口。

如果您说Listen 443,Apache 将关注所有接口上的所有 HTTP 请求;如果你说Listen 10.11.12.13:443,它只会侦听绑定到 IP 地址 10.11.12.13 的网络接口上的 HTTPS 请求。

相关内容