sudo를 사용하여 우분투에서 자체 서명된 openssl 인증서를 생성했는데 이제 아파치가 인식하지 못합니다.

sudo를 사용하여 우분투에서 자체 서명된 openssl 인증서를 생성했는데 이제 아파치가 인식하지 못합니다.

안녕하세요 저는 우분투 14.04를 실행하는 Linux 인스턴스 서버를 사용하고 있습니다. 나중에 http가 아닌 https가 필요하다는 것을 깨달은 웹 사이트 설정이 있습니다. 그래서 우선 자체 서명된 인증서를 만들었습니다. 아래 명령을 전달하여

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

모든 단계를 완료한 후에도 https://를 앞에 추가하면 웹사이트에 액세스할 수 없고 http://에서만 작동합니다. 루트로 생성된 sudo를 사용하여 키를 생성하는 동안 www-data가 이를 인식하지 못하는 것 같습니다. SSL 오류 로그를 확인했는데 이 두 가지가 계속 반복됩니다.

[ssl:warn] [pid 29081] AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

[ssl:warn] [pid 29081] AH01909: RSA certificate configured for 52.24.182.161:443 does NOT include an ID which matches the server name

이 시점에서 문제가 발생했습니다. 자체 서명된 인증서와 내 사이트를 사용하여 https://를 사용하고 싶습니다.

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    ServerName 52.24.182.161
    DocumentRoot /var/www/html/website

    ErrorLog ${APACHE_LOG_DIR}/website-ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/website-ssl-access.log combined

    SSLEngine on
    SSLCertificateFile  /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch "MSIE [2-6]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
    # MSIE 7 and newer should be able to use keepalive
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

</VirtualHost>

내 출력openssl x509 -noout -text -in /etc/apache2/ssl/apache.crt

Certificate:
Data:
    Version: 3 (0x2)
    Serial Number: 17752245544736062623 (0xf65ca5447b80fc9f)
Signature Algorithm: sha256WithRSAEncryption
    Issuer: C=GB, ST=London, L=London city, O=Hom, OU=Digital, CN=sgurung
    Validity
        Not Before: Oct 18 15:47:58 2016 GMT
        Not After : Oct 18 15:47:58 2017 GMT
    Subject: C=GB, ST=London, L=London city, O=Hom, OU=Digital, CN=sgurung
    Subject Public Key Info:
        Public Key Algorithm: rsaEncryption
            Public-Key: (2048 bit)
            Modulus:
                00:96:e5:4f:f9:c6:fc:4c:62:7d:ef:a1:64:1d:9a:
                1a:79:c2:bb:1d:38:54:88:c3:c8:b6:74:45:49:ec:
                b6:ca:fd:eb:94:0b:13:0b:cc:0d:2c:a4:45:77:0c:
                07:6f:20:01:9a:21:61:77:fa:3d:6b:3d:4e:6d:ef:
                7d:5a:85:82:9f:11:82:78:70:50:82:97:9d:c6:ae:
                b5:8a:fc:a3:3d:51:db:92:66:70:3d:86:76:f0:95:
                29:cc:20:f4:a5:50:b4:30:82:d7:7b:ff:36:87:90:
                42:63:c9:d0:75:29:7a:7b:a3:78:7d:80:4b:af:19:
                d1:15:90:ff:06:1a:4c:fb:ef:83:ee:56:b9:dd:1f:
                74:9c:e7:d7:7a:11:7e:74:c2:55:e3:3e:86:f5:fe:
                a5:f2:94:3e:21:0a:01:62:0e:a7:7d:32:b6:a5:16:
                e8:cd:46:de:c5:ea:c4:be:88:42:f6:bf:72:75:96:
                a8:82:f4:e1:31:4c:a8:62:ac:54:d2:bc:5c:42:21:
                d9:29:a7:c7:73:a2:12:31:04:bf:37:08:4e:55:2f:
                46:13:d8:0c:4b:8c:73:ad:eb:f1:8a:92:85:c9:22:
                28:04:de:91:71:d6:7f:ca:43:08:ad:f4:72:24:a9:
                f1:e4:12:fa:d8:97:50:e5:a9:9f:91:2d:db:2b:4e:
                90:03
            Exponent: 65537 (0x10001)
    X509v3 extensions:
        X509v3 Subject Key Identifier: 
            35:50:60:0B:18:C6:A4:6C:74:4D:6B:9A:A2:4C:5F:57:16:93:56:60
        X509v3 Authority Key Identifier: 
            keyid:35:50:60:0B:18:C6:A4:6C:74:4D:6B:9A:A2:4C:5F:57:16:93:56:60

        X509v3 Basic Constraints: 
            CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
     46:8f:75:06:48:8c:0a:c6:45:d0:f6:26:99:eb:7a:e2:31:e6:
     4a:76:7f:ba:af:30:ed:d8:04:39:e5:26:94:23:bf:38:1c:28:
     df:1f:d2:63:b7:36:bb:3e:aa:9a:1b:35:c0:db:73:98:5a:6a:
     41:3a:64:6e:53:33:c1:92:63:7c:3a:3a:1e:1c:9b:ed:55:eb:
     dd:eb:cb:50:a4:56:19:46:8f:8b:55:e6:97:0d:b0:53:07:b1:
     e6:8f:4b:6a:a1:ba:dd:d1:1e:14:9a:49:f9:b0:fd:40:0f:e3:
     a5:7f:fd:ab:d3:fc:ff:e0:3d:5c:46:91:f4:b4:7d:fb:56:f6:
     3a:ec:64:ac:18:1b:d5:10:ec:c9:7c:c4:3f:7c:98:4a:80:ed:
     66:84:d8:12:e3:ff:38:9b:03:51:67:89:ba:33:af:88:5c:c4:
     cd:47:e8:3f:46:2a:ee:c4:a3:b7:96:55:23:80:d5:ed:34:ef:
     3c:7c:6c:ad:1b:dc:4d:69:00:27:85:87:f8:96:92:c0:d0:51:
     b4:47:9e:4f:36:d9:70:b7:55:b8:60:bf:99:b7:e3:4d:b0:8c:
     47:8a:d0:a1:41:76:97:d6:dc:a3:a5:43:b4:aa:c3:6c:f1:e9:
     8b:45:7f:a4:9f:e9:73:73:af:49:ed:32:1c:06:fd:f8:23:36:
     22:5b:74:3c

netstat -tlpn 출력

(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address              State           PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*                   LISTEN      -               
tcp6       0      0 :::80                   :::*                        LISTEN      -               
tcp6       0      0 :::22                   :::*                        LISTEN      -               
tcp6       0      0 :::443                  :::*                        LISTEN      -     

답변1

대답은 로그에 있습니다.

AH01906: RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)

그리고:

AH01909: RSA certificate configured for 52.24.182.161:443 does NOT include an ID which matches the server name

먼저 웹서버를 운영하고 있습니다. 웹 서버는 인증 기관(인증서를 제조하는 엔터티)이 아닌 최종 엔터티(인증서를 사용하는 엔터티)입니다.

둘째, 브라우저에 입력하는 DNS 이름은 인증서의 이름과 일치해야 합니다. 이는 CommonName(CN)이거나 SubjectAlternateName(SAN) 필드에 나열됩니다.

첫 번째 문제를 해결하려면 다음을 사용하여 OpenSSL 구성 파일이 있는 위치를 찾으세요.

$ openssl version -a | grep OPENSSLDIR
OPENSSLDIR: "/etc/pki/tls"

위의 내용은 Fedora 상자에 있으므로 경로가 다를 수 있습니다. 해당 디렉토리에는 openssl.cnf. 당신이 가장 좋아하는 편집기로 편집하고(우리 모두가 가장 좋아하는 편집기를 가지고 있습니다) 다음과 같은 줄을 찾으세요:

basicConstraints=CA:TRUE

이 줄을 제거하거나 해시( #) 기호를 앞에 추가하여 비활성화합니다.

#basicConstraints=CA:TRUE

그러면 CA 인증서 오류 메시지가 제거됩니다.

두 번째 문제를 해결하려면 OpenSSL을 실행할 때 입력하는 CommonName(CN)이 브라우저에 입력할 DNS 이름(URL이 아니고 https://를 포함하지 않음)인지 확인하세요. SubjectAlternateName과 관련된 더 복잡한 솔루션이 있지만 이 솔루션을 사용하면 문제가 해결됩니다.

답변2

마침내 이 문제가 해결되었습니다. 큰 감사합니다@다넬 B. Amazon EC2 인스턴스 서버를 사용하고 있기 때문에 인스턴스를 처음 시작할 때 규칙을 https로 구성하지 않았고 규칙은 http만 허용했습니다. 따라서 Amazon 콘솔에 규칙을 추가하면 network and security group문제가 해결되었습니다.

관련 정보