2017-02-20 113 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