SSL用にubuntu(14.04.2)Apache2(2.4.7)サーバーをセットアップしましたが、証明書が見つかりません。 Ubuntuは静的IPが有効なEC2インスタンスで実行されており、その静的IPへのDNSレコードで443ポートとドメイン名theaudioserver.comが有効になっています。サーバーのセットアップ方法は次のとおりです。
openssl genrsa 2048 > privatekey.pem
openssl req -new -key privatekey.pem -out csr.pem
server.crt
とserver_bundle.crt
のキーを保存しましたssl.conf
ファイルを追加しました。これはSSL用に構成されています。SSLStaplingCache shmcb:/tmp/stapling_cache(128000) <VirtualHost *:443> SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff SSLCompression off SSLUseStapling on ServerName theaudioserver.com SSLEngine on SSLCertificateFile /home/ubuntu/certs/server.crt SSLCertificateKeyFile /home/ubuntu/certs/privatekey.pem SSLCertificateChainFile /home/ubuntu/certs/server_bundle.crt DocumentRoot /var/www/html/ </VirtualHost>
Sudo a2enmod ssl
でSSLを追加Sudo netstat -anp | grep Apache
はtcp6 0 0 :::443 :::* LISTEN 3138/Apache2
を提供します。しかし、ドメインをテストすると、証明書が見つからないようです。
Ssllabs.comでは、No SSL certificates were found on theaudioserver.com. Make sure that the name resolves to the correct server and that the SSL port (default is 443) is open on your server's firewall
を取得します。
https://52.24.39.22 を介してサーバーにアクセスすると、ドメイン名を介してアクセスしていないため、名前の不一致エラーが発生しますが、EC2のサーバーファイアウォールが設定されているようです正しく。
ここで何が悪いのですか?
ポート443でサーバーに接続できません。ファイアウォールの問題のようです。 EC2セキュリティグループのファイアウォールでポート443を開いていますか。ホストのファイアウォールで開いていますか?
更新;
DNSが正しく設定されていない
Dig +short theaudioserver.com
52.25.39.220
一方、52 .24。39.220で接続できます。
Webサイトのルートディレクトリにある.htaccess
ファイルを使用して、非セキュアポートからのリクエストをセキュアポート(http://-> https://など)にリダイレクトします。
ファイルには次のようなものが含まれている必要があります。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
以下を含むようにsites-available
のdefault
を編集する必要があります。
DocumentRoot /var/www/html
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
これにより、.htaccess
がそのディレクトリおよび含まれるすべてのディレクトリ、つまりサイト全体で作業できるようになります。