3개의 WordPress 사이트, 1개의 무들 사이트 및 1개의 owncloud 사이트가 있으며 모두 내 vps에서 동일한 아파치 구성을 사용하며 모두 잘 작동합니다.

그러나 phpMyAdmin이 cloudflare의 원본 인증서와 함께 작동하도록 할 수 없습니다. mysql.domain.tld로 이동하면 다음을 반환합니다.

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

하지만 Let's Encrypt를 사용하면 잘 작동합니다.

내 모든 사이트에 대해 다음 Apache 구성 파일을 사용합니다.

<VirtualHost *:80>
    ServerName domain.tld
    DocumentRoot "/var/www/domain.tld/"
    <Directory "/var/www/domain.tld/">
        AllowOverride All
    </Directory>
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =domain.tld
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    ErrorLog /var/log/apache2/domain.tld/error.log
</VirtualHost>

<VirtualHost *:443>
    ServerName domain.tld
    DocumentRoot "/var/www/domain.tld/"
    <Directory "/var/www/domain.tld/">
        AllowOverride All
    </Directory>
    SSLCertificateFile /etc/apache2/certificates/domain.tld.crt
    SSLCertificateKeyFile /etc/apache2/certificates/domain.tld.key
    ErrorLog /var/log/apache2/domain.tld/error.log
</VirtualHost>

내가 뭘 잘못하고 있죠? 감사 해요

answer

인증서를 읽을 수 있는지 확인합니다.

openssl x509 -noout -text -in /etc/apache2/certificates/domain.tld.crt

개인 키 확인:

openssl rsa -in /etc/apache2/certificates/domain.tld.key -check

개인 키와 인증서가 일치하는지 확인합니다.

openssl rsa -noout -modulus -in /etc/apache2/certificates/domain.tld.key | openssl sha256
openssl x509 -noout -modulus -in /etc/apache2/certificates/domain.tld.crt | openssl sha256

/etc/apache2/certificates/domain.tld.crt에 다음 순서로 포함되어 있는지 확인합니다.

  • domain.tld에 대한 인증서
  • CloudFlare의 모든 중간 인증서