(98)地址已经在使用中:make_sock:无法绑定到地址[::]:443

3
我想做的是将我的网站放在Amazon EC2实例上,以便我能够使用HTTPS协议打开它。我的网站以前可以运行,但会有一个无效证书的警告,使用这个链接示例https://my.site.name.edu ,但现在当我尝试访问该网站时,会出现“网页不可用”的提示。

请注意,我已经:

在Linux服务器上使用Apache为这个测试站点安装了Drupal

我的EC2实例附加了一个弹性IP

使用了这个指南中的步骤:创建、上传和删除服务器证书

有效的CA签名Apache证书

/home/ec2-user文件夹中安装了openssl-1.0.1f文件

使用这个链接创建虚拟主机:http://ananthakrishnanravi.wordpress.com/2012/04/15/configuring-ssl-and-https-for-your-website-amazon-ec2/

以下是错误发生的情况,当尝试解决HTTPS访问问题时

我尝试更改此链接中的ssl.conf文件,以查看是否能解决问题:在EC2实例上设置SSL证书

我复制了一个新的ssl.conf文件,注释了旧的SSLCertificateKeyFile、SSLCertificateFile和SSLCertificateChainFile。然后,我将复制并修改过的文件粘贴到目录中,在编写前四行时像这样:

<VirtualHost 00.00.00.00:443>
  SSLCertificateKeyFile /home/ec2-user/castestingapache/privatekey.pem
  SSLCertificateFile /home/ec2-user/castestingapache/my_site_name_edu.pem 
  SSLCertificateChainFile /home/ec2-user/castestingapache/my_site_name_edu_interm.crt

当我重新启动Apache时:
service httpd restart

我收到了这个错误消息:
Stopping httpd:                                            [FAILED]
Starting httpd: [Wed May 21 14:44:31 2014] [warn] module ssl_module is already loaded,     skipping
(98)Address already in use: make_sock: could not bind to address [::]:443
                                                       [  OK  ]

我的httpd.conf配置如下:

<VirtualHost 00.00.00.00:443>    #Same as the IP in the ssl.conf#
ServerAdmin ec2-user@ec2-00-00-00-00.compute.amazonaws.com
DocumentRoot /var/www/html
ServerName https://my.site.name.edu
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
# ErrorLog logs/errorlogs
# CustomLog logs/custom
SSLCertificateFile /home/ec2-user/castestingapache/my_site_name_edu.pem 
SSLCertificateKeyFile /home/ec2-user/castestingapache/privatekey.pem
SSLCertificateChainFile /home/ec2-user/castestingapache/my_site_name_edu_interm.crt
# SSLCACertificateFile /etc/httpd/conf/bundle.txt 
SetEnvIf User-Agent “.*MSIE.*” nokeepalive ssl-unclean-shutdown
# CustomLog /usr/local/apache/logs/ssl_request_log \
# “%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \”%r\” %b”
</VirtualHost>

编辑:我试着将ssl.conf文件回滚到旧版本,但是当我尝试重启Apache时,它仍然报错。 问题已经解决 即使我已经将其重命名,我不得不删除其中一个ssl.conf文件...

更新:我已将以下行添加到httpd.conf文件中:

NameVirtualHost 00.00.00.00:443

我认为问题在于我的证书没有指向这个IP地址。 更新:我刚刚在此处运行了证书安装检查器测试http://ssltool.com/?action=sslCheckOpenSSL,以下是测试结果: enter image description here 注意:IP 12-34-56-78 是我在AWS EC2实例上的私有IP地址。
如有任何帮助,将不胜感激。
谢谢,

1
似乎已经有东西在使用端口443了。是否有另一个虚拟主机正在使用相同的端口,或者您之前运行过另一个Web服务器? - Joachim Isaksson
我们在AWS EC2实例上运行了多个站点,并开放了入站规则443端口范围。这有帮助吗? - Lgalan90
对不起!我刚刚删除了旧的ssl.conf文件,现在我的网站已经恢复正常了...但我仍在努力解决无效的SSL证书错误。 - Lgalan90
1个回答

0

唉...答案一直在这个链接里...

在EC2实例上设置SSL证书

ssl.conf文件中的这行:

<VirtualHost 00.000.000.00:443>

必须更改为:

<VirtualHost _default_:443> 

添加剩余部分:

SSLCertificateKeyFile /etc/ssl/mydomain_com.key
SSLCertificateFile /etc/ssl/mydomain_com.crt
SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
</VirtualHost>

完成了!您的HTTPS链接应该可以正常工作了...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接