【tech】apache mod_SSL AH02572 エラー対処のメモ



公開:2020/10/14
更新:2020/10/14

自宅検証環境を再構築中にapacheをSSL化しようとしていたら、とてつもなくハマってしまったのでメモです。

環境


Apache:ver2.4.6
mod_ssl:ver2.4.37

エラーログ


[Tue Oct 13 11:11:37.617800 2020] [ssl:warn] [pid 2602:tid 140529039034688] AH10085: Init: 172.18.38.46:443 will respond with '503 Service Unavailable' for now. There are no SSL certificates configured and no other module contributed any.
[Tue Oct 13 11:11:37.618344 2020] [ssl:emerg] [pid 2602:tid 140529039034688] AH02572: Failed to configure at least one certificate and key for 172.18.38.46:443
[Tue Oct 13 11:11:37.618367 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:0909006C:PEM routines:get_name:no start line (Expecting: DH PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Tue Oct 13 11:11:37.618377 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:0909006C:PEM routines:get_name:no start line (Expecting: EC PARAMETERS) -- Bad file contents or format - or even just a forgotten SSLCertificateKeyFile?
[Tue Oct 13 11:11:37.618390 2020] [ssl:emerg] [pid 2602:tid 140529039034688] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned

原因




・証明書のファイルパスが定義されていなかった
・SSLEngin onディレクティブと、証明書のパスディレクティブは同じファイルで定義する必要があった。

詳細に書きます。
エラー発生時、私の「/etc/https/conf.d/ssl.conf」ファイルの設定は下記のようになっていました。

SSLEngine on
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

そして、個別の設定ファイル「/etc/httpd/conf.d/vhost.conf」でvirtualhost:443を作成していました。
virtualhostの設定で、証明書のパスを指定していたのです。

<VirtualHost 172.18.38.46:443>
    ServerName kusomemo.tokyo
    DocumentRoot "/var/www/sample"

        SSLEngine on
    SSLCertificateKeyFile "/etc/sample/server.key"
    SSLCertificateFile "/etc/sample/server.crt"

</VirtualHost>

この場合、恐らくssl.conf側で証明書のパスが指定されていないと判定されてしまうようです。
ssl.conf側の「SSLEngine on」をコメントアウトすることで解決できました。

#SSLEngine on
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】CentOS7でWEBサーバ(apache)の構築



環境


ホストOS:windows10
仮想化:virtualbox 5.2.22
インターフェース1:NAT接続(DHCP)
インターフェース2:ホストオンリー接続(192.168.56.150)
ゲストOS:CentOS7.5
Webサーバ:Apache

手順


・update
yum update -y

・WEBサーバApacheのインストール
yum install -y httpd

・webサーバへアクセス
ブラウザを立ち上げ、「http://192.168.56.150」

→アクセスできません。

・apacheのプロセスの起動を確認
ps

ps -elf

ps -elf | grep apache

→apacheなし


・apacheの起動

systemctl status httpd

systemctl start httpd

systemctl status httpd

・apacheのプロセスの確認
ps -elf | grep apache

→プロセスが上がっている事を確認

・リッスン状況を確認
ss -ant

ss -ant | grep apache

・webサーバへアクセス
ブラウザを立ち上げ、「http://192.168.56.150」

→アクセスできません。

・firewallの停止
systemctl stop firewalld



※ブラウザアクセス後

・firewallの起動
systemctl start firewalld

・firewallにhttp許可追加
firewall-cmd --add-service=http --permanent

・firewallの再起動
firewall-cmd --reload

以上です!

Apahceをインストール後リバースプロキシの実験もやってみたのでその手順メモも作成いたします!!!

久しぶりにみてみると、モバイルバッテリーもメモリもSSDもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のRedmineの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)



【tech】Apacheのversion確認方法



公開:2020/04/17
更新:2020/04/17

ApacheのVer確認したメモです。
仕事でテスト仕様書を作成中、AWS上に構築したLinuxサーバ(CentOS7)のApacheのバージョンを確認する方法を調べていました。

apachectlから確認するのかなぁと思っていたのですが、結果は

「httpd-v」
でした。

[root@server conf]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Aug  8 2019 11:41:18
[root@server conf]#

Versionは2.4.6でした。(古いからアップデートしなきゃ笑)



久しぶりにみてみると、モバイルバッテリーもずいぶん安くなってるんですね!

皆さん既にやってると思いますが、 AmazonPrimeだとAmazon Music Unlimitedが月額780円でできるんですね!
最近知ってapple musicから乗り換えました。(200円ですが安い方がいいに越したことはないです笑)

下のPythonの本は kindle unlimitedで無料で読めますのでお勧めです!(30日無料期間に読んで解約もアリだと思います。笑)