在Apache2上安装SSL但HTTPS无法正常工作

roc*_*tas 20 apache ssl firewall iptables amazon-ec2

我最近在运行Apache 2的Amazon EC2 Ubuntu 12.04(32位)服务器上安装了SSL证书.

当我尝试通过https访问我的网站时,它不会加载.当我执行nmap扫描时,我看到端口443未打开.

我试图在我的IP表中打开端口443无济于事.iptables -Lyeilds

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
Run Code Online (Sandbox Code Playgroud)

这是我安装ssl的方法

我修改了/etc/init.d/apache2.conf以包含ssl.conf和修改后的ssl.conf以包含我的证书文件的必需路径,即

SSLCertificateFile/path/file SSLCertificateKeyFile/path/file SSLCertificateChainFile/path/file

我将安全组配置为允许来自端口443的入站请求(TCP源:0.0.0.0/0)

当我用PHP执行以下测试时

if (!extension_loaded('openssl')) 
{
  echo "not loaded";
}
else
{
  echo "loaded"   ;
}
Run Code Online (Sandbox Code Playgroud)

我得到"装".

有任何想法吗?

mti*_*935 24

在httpd-ssl.conf中,你有Listen 443吗?

如果没有,请尝试添加,然后重新启动apache.

  • 在apache 2.4中文件是`ports.conf` (3认同)

Ric*_*ard 17

如果其他人发现了这一点并且正在使用 Amazon Lightsail(像我一样),您必须使用他们的 Web UI 明确打开端口 443。

在我发现之前,我花了好几个小时翻阅我的服务器配置文件:/

  • 你是救星 (4认同)
  • 谢谢,这对我来说是一个提示。我有一个链接到安全组的 EC2 实例,没有 HTTPS (443) 的入站规则。 (2认同)
  • 谢谢你!完全错过了这个 (2认同)

Dav*_*wii 12

首先检查是否启用了mod_ssl.如果没有,请通过运行a2enmod ssl启用它.然后检查Apache是​​否正在侦听端口443上的https.然后检查防火墙是否阻止端口443.


Nic*_*k T 5

如果您可以在本地连接(例如使用telnet localhost 443mti 建议的方式),请检查防火墙是否配置正确。

在我的情况下,ufw阻止了一切,所以我不得不ufw allow 443将潜在问题修复为相同的症状。


小智 5

在httpd.conf中,默认情况下禁用以下内容:

# Secure (SSL/TLS) connections
# Include conf/extra/httpd-ssl.conf    
Run Code Online (Sandbox Code Playgroud)

只需从Include中删除#并重新启动Apache.