前提
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
お手数をおかけしますが、ご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー