質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

555閲覧

DockerでapacheWebサーバ構築したが、HTTPSで通信ができない

G_D

総合スコア51

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2022/08/12 03:15

編集2022/08/12 09:24

前提

Dockerを使用してWEBサーバを構築しております。
以下のような環境です。
サーバ(オンプレ端末)※Ubuntu
┗Docker
┗WEBサーバ(apache)←問題
┗APサーバ※無視でいい
┗DBサーバ※無視でいい

サーバに環境できたと思いましたが、
httpでは通信できたのですが、httpsでは通信ができず、
いろんなサイトを拝見してますが行き詰まっている状態です。

一応、ローカルホストではなく、私の端末からサーバへのアクセスはできてます。
OK:
http://ドメイン:**99/**login/

NG:
https://ドメイン:**99/web/**login/
ERR_CONNECTION_REFUSED
となります。

実現したいこと

HTTPSで通信できるようにする。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

■SSL証明書取得
keyファイル
・server.key
セキュリティ証明書
・server.crt

■default-ssl.conf編集

default-ssl.conf SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key

■DockerファイルにSSL証明書とdefault-ssl.confをCOPY

***.dockerfile COPY ./apache/default-ssl.conf /etc/apache2/sites-available COPY ./apache/server.key /etc/ssl/private COPY ./apache/server.crt /etc/ssl/certs #RUN a2enmod ssl \        ※後述 # && a2ensite default-ssl.conf

■ymlファイル編集

***.yml  #ポート番号443 ports: - **99:443 #- **99:80※ここのコメントアウトを外すとhttpでは通信できます。

怪しいと思っている個所

下記のRUNで、HTTPS通信に必要なApacheのモジュール(mod_ssl)の有効化と、default-ssl.confの有効化(sites-enabledからのシンボリックリンクを貼る)を行なっています。

とありましたので、Dockerファイルに記載をしてみたところ、
ビルドは通っている( docker-compose build --no-cache)
ように見えるのですが、コンテナが立ち上がりません。( docker-compose up -dで立ち上がらない。)
なのでとりあえず、コメントアウトにしてます。コメントアウトすると立ち上がります。

.dockerfile #RUN a2enmod ssl && a2ensite default-ssl.conf

また、コメントアウトした状態でコンテナを立ち上げ、
コンテナの中に入って以下を実行。
a2ensite default-ssl
a2enmod ssl
アパッチ再起動
/etc/init.d/apache2 reload
(systemctl restart apache2とありましたが、WSL2の構築が上手くできてないのか、
コンテナないでコマンドが見つからず、/etc/init.d/apache2 reloadで代用してます。)

するとその後コンテナが立ち上がらなくなってしまいます。
(原因不明)

a2ensite default-ssl
a2enmod ssl
この辺を書くとコンテナが立ち上がらなくなってしまうので、
default-ssl.confの書き方が悪いのでしょうか。

参考にしたページ

https://www.engilaboo.com/apache-docker-https/
https://www.server-world.info/query?os=Ubuntu_20.04&p=httpd&f=3

お手数をおかけしますが、ご教示いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2022/08/12 08:24

> httpでは通信できたのですが、httpsでは通信ができず、 上記の詳細を伺いたいのですが、下記であっていますか? httpで通信できた -> http://localhost:**99/ で開けた https で通信できない -> https://localhost:**99/ で ERR_CONNECTION_REFUSED になった
G_D

2022/08/12 09:21

分かりずらくすみません。 一応、ローカルホストではなく、私の端末からサーバへのアクセスはできてます。 OK: http://ドメイン:**99/**login/ NG: https://ドメイン:**99/web/**login/ ERR_CONNECTION_REFUSED となります。
kazto

2022/08/12 09:29

> ビルドは通っている( docker-compose build --no-cache) ように見えるのですが、コンテナが立ち上がりません。( docker-compose up -dで立ち上がらない。) この一文を見落としていました。ここらへんに原因がありそうです。 docker-compose up を -d オプションなしで実行すると、どんなログが出力されますか?
G_D

2022/08/12 09:48

オプションなしで実行するとログが見れるのですね。 ------------------------------- *** | [Fri Aug 12 09:43:06.848149 2022] [ssl:emerg] [pid 1] AH02580: Init: Pass phrase incorrect for key ドメイン:443:0 *** | [Fri Aug 12 09:43:06.848199 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag *** | [Fri Aug 12 09:43:06.848209 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO) *** | [Fri Aug 12 09:43:06.848219 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag *** | [Fri Aug 12 09:43:06.848226 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error *** | [Fri Aug 12 09:43:06.848230 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag *** | [Fri Aug 12 09:43:06.848236 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=RSAPrivateKey) *** | [Fri Aug 12 09:43:06.848253 2022] [ssl:emerg] [pid 1] SSL Library Error: error:04093004:rsa routines:old_rsa_priv_decode:RSA lib *** | [Fri Aug 12 09:43:06.848261 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag *** | [Fri Aug 12 09:43:06.848267 2022] [ssl:emerg] [pid 1] SSL Library Error: error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO) *** | [Fri Aug 12 09:43:06.848272 2022] [ssl:emerg] [pid 1] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more information *** | [Fri Aug 12 09:43:06.848275 2022] [ssl:emerg] [pid 1] AH02564: Failed to configure encrypted (?) private key ドメイン:443:0, check /etc/ssl/private/***.key *** | AH00016: Configuration Failed ------------------------------------- 上記のようなログが出力されました。 keyが悪いようなログが出てるのでかなり光が見えてきた感じがします!
kazto

2022/08/12 12:31

いい感じですね! それでは、キーをどのように作ったか教えてください。
G_D

2022/08/15 08:47 編集

解決しました! 秘密鍵や公開鍵は別から共有してもらったものを使用していたんですが、 そのほかにパスフレーズを解除した秘密鍵もあり、そちらを使用することで解決しました。 ・秘密鍵 ・証明書 ↓ ・パスフレーズを解除した秘密鍵 ・証明書 >kaztoさん ありがとうございました! Dockerに触るのが始めただったので、Docker×Apacheかなと躓いてましたが、kaztoさんにご教示いただき早期に解決しました!
guest

回答1

0

自己解決

解決しました!
秘密鍵や公開鍵は別から共有してもらったものを使用していたんですが、
そのほかにパスフレーズを解除した秘密鍵もあり、そちらを使用することで解決しました。
・秘密鍵
・証明書

・パスフレーズを解除した秘密鍵
・証明書

>kaztoさん
ありがとうございました!
Dockerに触るのが始めただったので、Docker×Apacheかなと躓いてましたが、kaztoさんにご教示いただき早期に解決しました!

投稿2022/08/15 08:53

G_D

総合スコア51

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問