安装了自签名SSL证书,Apache不会启动

时间:2017-02-20 22:14:23

标签: apache ssl https xampp self-signed

我正在尝试建立一个需要Stripe支付网关的网站,因此需要使用SSL。我在Windows 10上使用XAMPP。在生成SSL证书和密钥对并在Apache中安装后,Apache不再启动。

我附加了一些错误消息和配置。请帮忙。

这是Apache错误日志中的消息。它不再重现这些错误消息。所以必须改变一些东西。我想我尝试通过不同的方法生成证书和密钥。但是Apache仍然没有开始。

[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] AH02577: Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file C:/xampp/apache/conf/ssl.key/server.key)
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] AH02311: Fatal error initialising mod_ssl, exiting. See C:/xampp/apache/logs/error.log for more information
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] AH02564: Failed to configure encrypted (?) private key www.loc1.dev:443:0, check C:/xampp/apache/conf/ssl.key/server.key
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 19 15:45:25.312250 2017] [ssl:emerg] [pid 6508:tid 556] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
AH00016: Configuration Failed

这是我尝试从命令行启动Apache时遇到的错误。

Apache 2 is starting ...
AH00548: NameVirtualHost has no effect and will be removed in the next release C:/xampp/apache/conf/extra/httpd-vhosts.conf:26
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address [::]:443
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

以下是XAMPP控制对话框中发布的错误。

1:16:13 PM  [Apache]    Error: Apache shutdown unexpectedly.
1:16:13 PM  [Apache]    This may be due to a blocked port, missing dependencies, 
1:16:13 PM  [Apache]    improper privileges, a crash, or a shutdown by another method.
1:16:13 PM  [Apache]    Press the Logs button to view error logs and check
1:16:13 PM  [Apache]    the Windows Event Viewer for more clues
1:16:13 PM  [Apache]    If you need more help, copy and post this
1:16:13 PM  [Apache]    entire log window on the forums

这是httpd-vhosts.conf中的内容。我正在尝试为loc1.dev设置SSL。

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs"
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs/loc.com/public_html"
  ServerName loc.dev
  ServerAlias www.loc.dev
  <Directory "C:/xampp/htdocs/loc.com/public_html">
  AllowOverride All
  Require all Granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs/loc1.com/public_html"
  ServerName loc1.dev
  ServerAlias www.loc1.dev
  <Directory "C:/xampp/htdocs/loc1.com/public_html">
  AllowOverride All
  Require all Granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs/foodharbor.org/public_html"
  ServerName foodharbor.dev
  ServerAlias www.foodharbor.dev
  <Directory "C:/xampp/htdocs/foodharbor.org/public_html">
  AllowOverride All
  Require all Granted
  </Directory>
</VirtualHost>

这就是我在httpd-ssl.conf

中的内容
<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "C:/xampp/htdocs/loc1.com/public_html"
ServerName www.loc1.dev
ServerAdmin jonathan.najman@gmail.com
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"
SSLEngine on
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"

</VirtualHost>     

这是我的主机文件(C:\ Windows \ System32 \ drivers \ etc \ hosts)中的内容。

127.0.0.1   localhost
127.0.0.1   loc.dev
127.0.0.1   loc1.dev
127.0.0.1   foodharbor.dev

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我在httpd-ssl.conf(C:\ xampp \ apache \ conf \ extra)中注释掉了Listen 443,现在Apache启动了,该站点在https和http上可用。在其他地方必须有一个指令指示Apache在443上听......

#
# When we also provide SSL we have to listen to the 
# standard HTTP port (see above) and to the HTTPS port
#
#Listen 443