2017-02-20 106 views
1

我正在尝试构建一个需要Stripe支付网关并因此需要SSL的网站。我在Windows 10上使用XAMPP。在生成SSL证书和密钥对并在Apache中安装后,Apache不再启动。已安装自签名SSL证书,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 [email protected] 
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>  

这是在我的hosts文件(C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ETC \主机)。

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

我错过了什么吗?

回答

0

我注释掉httpd-ssl.conf(C:\ xampp \ apache \ conf \ extra)中的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