2017-08-24 10 views
0
の手順に従って、自分のサーバー上でSSL証明書を構成しようとした後、私のApacheを再起動しようとしているときに、私はエラーを取得してい

:このコード CentOSの7 SSLの設定エラー

sudo yum install mod_ssl

を実行している

    1. 私のssl.confは以下のように構成されています(検証されたすべてのファイルはパスの場所に存在します)。のみこれらの行は、デフォルトから変更された:

      • DocumentRoot "/var/www/mydomain.com"
      • ServerName www.mydomain.com:443
      • SSLCertificateFile /etc/pki/tls/certs/mydomain.com.crt
      • SSLCertificateKeyFile /etc/pki/tls/private/mydomain.com.key
      • SSLCACertificateFile /etc/pki/tls/certs/ca_mydomain.com.crt
    2. Apacheを再起動し

    3. エラー:

    Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

    'をsystemctlステータスhttpd.service' の出力:

    httpd.service - The Apache HTTP Server 
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) 
    Active: failed (Result: exit-code) since Thu 2017-08-24 03:20:27 UTC; 14s ago 
    Docs: man:httpd(8) 
    man:apachectl(8) 
    Process: 23587 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) 
    Process: 19255 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS) 
    Process: 23586 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) 
    Main PID: 23586 (code=exited, status=1/FAILURE) 
    
    Aug 24 03:20:27 web systemd[1]: Starting The Apache HTTP Server... 
    Aug 24 03:20:27 web systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE 
    Aug 24 03:20:27 web kill[23587]: kill: cannot find process "" 
    Aug 24 03:20:27 web systemd[1]: httpd.service: control process exited, code=exited status=1 
    Aug 24 03:20:27 web systemd[1]: Failed to start The Apache HTTP Server. 
    Aug 24 03:20:27 web systemd[1]: Unit httpd.service entered failed state. 
    Aug 24 03:20:27 web systemd[1]: httpd.service failed. 
    
    'journalctl -xe' の

    出力:私のssl.confの

    Aug 24 03:33:22 web polkitd[352]: Registered Authentication Agent for unix-process:23639:84834340 (system bus name :1.905 
    Aug 24 03:33:22 web systemd[1]: Starting The Apache HTTP Server... 
    -- Subject: Unit httpd.service has begun start-up 
    -- Defined-By: systemd 
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
    -- 
    -- Unit httpd.service has begun starting up. 
    Aug 24 03:33:22 web systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE 
    Aug 24 03:33:22 web kill[23646]: kill: cannot find process "" 
    Aug 24 03:33:22 web systemd[1]: httpd.service: control process exited, code=exited status=1 
    Aug 24 03:33:22 web systemd[1]: Failed to start The Apache HTTP Server. 
    -- Subject: Unit httpd.service has failed 
    -- Defined-By: systemd 
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
    -- 
    -- Unit httpd.service has failed. 
    -- 
    -- The result is failed. 
    Aug 24 03:33:22 web systemd[1]: Unit httpd.service entered failed state. 
    Aug 24 03:33:22 web systemd[1]: httpd.service failed. 
    Aug 24 03:33:22 web polkitd[352]: Unregistered Authentication Agent for unix-process:23639:84834340 (system bus name :1.9 
    Aug 24 03:34:05 web sudo[23651]: Nazar : TTY=pts/0 ; PWD=/etc/httpd/conf ; USER=root ; COMMAND=/bin/mv ../conf.d/ssl.c 
    Aug 24 03:34:08 web sudo[23653]: Nazar : TTY=pts/0 ; PWD=/etc/httpd/conf ; USER=root ; COMMAND=/sbin/apachectl start 
    Aug 24 03:34:08 web polkitd[352]: Registered Authentication Agent for unix-process:23656:84838914 (system bus name :1.906 
    Aug 24 03:34:08 web systemd[1]: Starting The Apache HTTP Server... 
    -- Subject: Unit httpd.service has begun start-up 
    -- Defined-By: systemd 
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
    -- 
    -- Unit httpd.service has begun starting up. 
    Aug 24 03:34:08 web systemd[1]: Started The Apache HTTP Server. 
    -- Subject: Unit httpd.service has finished start-up 
    -- Defined-By: systemd 
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel 
    -- 
    -- Unit httpd.service has finished starting up. 
    -- 
    -- The start-up result is done. 
    Aug 24 03:34:08 web polkitd[352]: Unregistered Authentication Agent for unix-process:23656:84838914 (system bus name :1.9 
    Aug 24 03:51:12 web sshd[23811]: Received disconnect from 221.194.47.224: 11: [preauth] 
    Aug 24 03:53:38 web sshd[23816]: Received disconnect from 221.194.47.233: 11: [preauth] 
    

    コピー:

    # When we also provide SSL we have to listen to the 
        # the HTTPS port in addition. 
        # 
        Listen 443 https 
    
        ## 
        ## SSL Global Context 
        ## 
        ## All SSL configuration in this context applies both to 
        ## the main server and all SSL-enabled virtual hosts. 
        ## 
    
        # Pass Phrase Dialog: 
        # Configure the pass phrase gathering process. 
        # The filtering dialog program (`builtin' is a internal 
        # terminal dialog) has to provide the pass phrase on stdout. 
        SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog 
    
        # Inter-Process Session Cache: 
        # Configure the SSL Session Cache: First the mechanism 
        # to use and second the expiring timeout (in seconds). 
        SSLSessionCache   shmcb:/run/httpd/sslcache(512000) 
        SSLSessionCacheTimeout 300 
    
        # Pseudo Random Number Generator (PRNG): 
        # Configure one or more sources to seed the PRNG of the 
        # SSL library. The seed data should be of good random quality. 
        # WARNING! On some platforms /dev/random blocks if not enough entropy 
        # is available. This means you then cannot use the /dev/random device 
        # because it would lead to very long connection times (as long as 
        # it requires to make more entropy available). But usually those 
        # platforms additionally provide a /dev/urandom device which doesn't 
        # block. So, if available, use this one instead. Read the mod_ssl User 
        # Manual for more details. 
        SSLRandomSeed startup file:/dev/urandom 256 
        SSLRandomSeed connect builtin 
        #SSLRandomSeed startup file:/dev/random 512 
        #SSLRandomSeed connect file:/dev/random 512 
        #SSLRandomSeed connect file:/dev/urandom 512 
    
        # 
        # Use "SSLCryptoDevice" to enable any supported hardware 
        # accelerators. Use "openssl engine -v" to list supported 
        # engine names. NOTE: If you enable an accelerator and the 
        # server does not start, consult the error logs and ensure 
        # your accelerator is functioning properly. 
        # 
        SSLCryptoDevice builtin 
        #SSLCryptoDevice ubsec 
    
        ## 
        ## SSL Virtual Host Context 
        ## 
    
        <VirtualHost _default_:443> 
    
        # General setup for the virtual host, inherited from global configuration 
        DocumentRoot "/var/www/mydomain.com" 
        ServerName www.mydomain.com:443 
    
        # Use separate log files for the SSL virtual host; note that LogLevel 
        # is not inherited from httpd.conf. 
        ErrorLog logs/ssl_error_log 
        TransferLog logs/ssl_access_log 
        LogLevel warn 
    
        # SSL Engine Switch: 
        # Enable/Disable SSL for this virtual host. 
        SSLEngine on 
    
        # SSL Protocol support: 
        # List the enable protocol levels with which clients will be able to 
        # connect. Disable SSLv2 access by default: 
        SSLProtocol all -SSLv2 
    
        # SSL Cipher Suite: 
        # List the ciphers that the client is permitted to negotiate. 
        # See the mod_ssl documentation for a complete list. 
        SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA 
    
        # Speed-optimized SSL Cipher configuration: 
        # If speed is your main concern (on busy HTTPS servers e.g.), 
        # you might want to force clients to specific, performance 
        # optimized ciphers. In this case, prepend those ciphers 
        # to the SSLCipherSuite list, and enable SSLHonorCipherOrder. 
        # Caveat: by giving precedence to RC4-SHA and AES128-SHA 
        # (as in the example below), most connections will no longer 
        # have perfect forward secrecy - if the server's key is 
        # compromised, captures of past or future traffic must be 
        # considered compromised, too. 
        #SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5 
        #SSLHonorCipherOrder on 
    
        # Server Certificate: 
        # Point SSLCertificateFile at a PEM encoded certificate. If 
        # the certificate is encrypted, then you will be prompted for a 
        # pass phrase. Note that a kill -HUP will prompt again. A new 
        # certificate can be generated using the genkey(1) command. 
        SSLCertificateFile /etc/pki/tls/certs/mydomain.com.crt 
    
        # Server Private Key: 
        # If the key is not combined with the certificate, use this 
        # directive to point at the key file. Keep in mind that if 
        # you've both a RSA and a DSA private key you can configure 
        # both in parallel (to also allow the use of DSA ciphers, etc.) 
        SSLCertificateKeyFile /etc/pki/tls/private/mydomain.com.key 
    
        # Server Certificate Chain: 
        # Point SSLCertificateChainFile at a file containing the 
        # concatenation of PEM encoded CA certificates which form the 
        # certificate chain for the server certificate. Alternatively 
        # the referenced file can be the same as SSLCertificateFile 
        # when the CA certificates are directly appended to the server 
        # certificate for convinience. 
        #SSLCertificateChainFile /etc/pki/tls/certs/ca_mydomain.com.crt 
    
        # Certificate Authority (CA): 
        # Set the CA certificate verification path where to find CA 
        # certificates for client authentication or alternatively one 
        # huge file containing all of them (file must be PEM encoded) 
        SSLCACertificateFile /etc/pki/tls/certs/ca_mydomain.com.crt 
    
        # Client Authentication (Type): 
        # Client certificate verification type and depth. Types are 
        # none, optional, require and optional_no_ca. Depth is a 
        # number which specifies how deeply to verify the certificate 
        # issuer chain before deciding the certificate is not valid. 
        #SSLVerifyClient require 
        #SSLVerifyDepth 10 
    
        # Access Control: 
        # With SSLRequire you can do per-directory access control based 
        # on arbitrary complex boolean expressions containing server 
        # variable checks and other lookup directives. The syntax is a 
        # mixture between C and Perl. See the mod_ssl documentation 
        # for more details. 
        #<Location /> 
        #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ 
        #   and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ 
        #   and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ 
        #   and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ 
        #   and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20  ) \ 
        #   or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ 
        #</Location> 
    
        # SSL Engine Options: 
        # Set various options for the SSL engine. 
        # o FakeBasicAuth: 
        #  Translate the client X.509 into a Basic Authorisation. This means that 
        #  the standard Auth/DBMAuth methods can be used for access control. The 
        #  user name is the `one line' version of the client's X.509 certificate. 
        #  Note that no password is obtained from the user. Every entry in the user 
        #  file needs this password: `xxj31ZMTZzkVA'. 
        # o ExportCertData: 
        #  This exports two additional environment variables: SSL_CLIENT_CERT and 
        #  SSL_SERVER_CERT. These contain the PEM-encoded certificates of the 
        #  server (always existing) and the client (only existing when client 
        #  authentication is used). This can be used to import the certificates 
        #  into CGI scripts. 
        # o StdEnvVars: 
        #  This exports the standard SSL/TLS related `SSL_*' environment variables. 
        #  Per default this exportation is switched off for performance reasons, 
        #  because the extraction step is an expensive operation and is usually 
        #  useless for serving static content. So one usually enables the 
        #  exportation for CGI and SSI requests only. 
        # o StrictRequire: 
        #  This denies access when "SSLRequireSSL" or "SSLRequire" applied even 
        #  under a "Satisfy any" situation, i.e. when it applies access is denied 
        #  and no other module can change it. 
        # o OptRenegotiate: 
        #  This enables optimized SSL connection renegotiation handling when SSL 
        #  directives are used in per-directory context. 
        #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire 
        <Files ~ "\.(cgi|shtml|phtml|php3?)$"> 
        SSLOptions +StdEnvVars 
        </Files> 
        <Directory "/var/www/cgi-bin"> 
        SSLOptions +StdEnvVars 
        </Directory> 
    
        # SSL Protocol Adjustments: 
        # The safe and default but still SSL/TLS standard compliant shutdown 
        # approach is that mod_ssl sends the close notify alert but doesn't wait for 
        # the close notify alert from client. When you need a different shutdown 
        # approach you can use one of the following variables: 
        # o ssl-unclean-shutdown: 
        #  This forces an unclean shutdown when the connection is closed, i.e. no 
        #  SSL close notify alert is send or allowed to received. This violates 
        #  the SSL/TLS standard but is needed for some brain-dead browsers. Use 
        #  this when you receive I/O errors because of the standard approach where 
        #  mod_ssl sends the close notify alert. 
        # o ssl-accurate-shutdown: 
        #  This forces an accurate shutdown when the connection is closed, i.e. a 
        #  SSL close notify alert is send and mod_ssl waits for the close notify 
        #  alert of the client. This is 100% SSL/TLS standard compliant, but in 
        #  practice often causes hanging connections with brain-dead browsers. Use 
        #  this only for browsers where you know that their SSL implementation 
        #  works correctly. 
        # Notice: Most problems of broken clients are also related to the HTTP 
        # keep-alive facility, so you usually additionally want to disable 
        # keep-alive for those clients, too. Use variable "nokeepalive" for this. 
        # Similarly, one has to force some clients to use HTTP/1.0 to workaround 
        # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and 
        # "force-response-1.0" for this. 
        BrowserMatch "MSIE [2-5]" \ 
        nokeepalive ssl-unclean-shutdown \ 
        downgrade-1.0 force-response-1.0 
    
        # Per-Server Logging: 
        # The home of a custom SSL log file. Use this when you want a 
        # compact non-error SSL logfile on a virtual host basis. 
        CustomLog logs/ssl_request_log \ 
        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
    
        </VirtualHost> 
    

    が助けに感謝!事前のおかげで:)決議

答えて

0

ではなく、サーバーののerror_log出力をチェックして、問題を発見しました。私の証明書/キーファイルへのアクセス許可が原因でした。私はちょうど'restorecon'コマンドをファイルに実行し、それは働いた!

関連する問題