【構築ログ】ポート8080/8443で動作する仮想ホストを構築・停止するまでの記録(CLI)

構築ログ

はじめに

この記事は、筆者自身がVirtualBox上でUbuntu Serverを使って構築したApache2を使用し、ポート8080およびSSLポート8443で仮想ホストを構成・起動・停止する一連の操作を記録したものです。

CLI環境での手作業にこだわった理由は、GUIに頼らずにサーバー管理や構築の本質を学びたいという動機があったからです。また、この構成は「複数サービスを同一サーバー上で分離・運用する」という実務でもよくある要件への理解につながり、さらに、ポートごとのサービス分離は可用性設計の導入にもなるため、その実践経験を積みたいという意図がありました。

今回の構成は商用レベルのHA(高可用性)構成とは異なりますが、「障害を局所化する」「サービスを分離して柔軟に運用する」といった可用性設計の初歩を実感しながら学べる非常に良い題材だと感じました。

使用環境

  • Ubuntu Server 24.04.2 LTS(CLIのみ)
  • VirtualBox 仮想マシン
  • ホスト名: testserver

Apache2 インストール

sudo apt update
sudo apt install apache2 -y

→ Apache2をAPT経由でインストール。Webサーバーとしての基本構成を整えます。
  以前の投稿にて実施済みですが、復習を兼ねて記載。

Apache2 が動作しているか確認

curl localhost

→ Apache2がポート80で正しく動作しているかを確認するテストリクエストです。

8443番ポート向けの仮想ホスト構築

sudo mkdir /var/www/html-8443

→ SSL用の別ドキュメントルートを作成。

echo "8443 service" | sudo tee /var/www/html-8443/index.html

→ 確認用にコンテンツを配置。

sudo nano /etc/apache2/sites-available/8443.conf

→ 仮想ホスト設定ファイルを新規作成。

内容:

<VirtualHost *:8443>
    DocumentRoot /var/www/html-8443
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

→ 8443ポートでのSSL接続を許可し、自己署名証明書で設定。

なぜポート443ではなく8443を使用するのか?
標準のHTTPSポートである443は、すでにApacheや他のサービスで使用されている可能性があります。開発・検証環境ではポート競合を避けるために、カスタムSSLポート(例:8443)を使用するのが一般的です。また、BIG-IPなどのリバースプロキシ製品と連携する際、フロントエンドに443、バックエンドに8443を割り当てる構成を想定することで、実運用に近い構成で検証を行うことができます。

sudo a2enmod ssl

→ SSLモジュールを有効化。ApacheがHTTPS通信を処理できるようになります。

sudo nano /etc/apache2/ports.conf

追記:

Listen 8443

→ Apacheが8443番ポートで待機するように明示的に指定。

sudo a2ensite 8443.conf
sudo systemctl reload apache2

→ 仮想ホスト設定を有効化し、Apacheを再読込して反映。

curl -k https://localhost:8443

-k オプションにより自己署名証明書を許容。応答 8443 service を得られれば成功。

仮想ホストの停止と検証(8443)

sudo a2dissite 8443.conf

→ 仮想ホスト構成を無効化。

sudo systemctl reload apache2

→ Apache設定を再読み込みして無効化を反映。

curl -k https://localhost:8443

OpenSSL error: wrong version number エラーを確認。

このエラーは、SSLで接続を試みたものの、ApacheがそのポートでSSL応答を返さない状態(=仮想ホストが無効化された)を示しています。これは想定された結果です。
参考画像

まとめ

  • 8443ポート向けにApache仮想ホスト(SSL)を構築し、動作確認まで完了
  • curl -k によってSSL経由の接続確認が可能であることを確認
  • a2dissite による仮想ホストの停止後、SSLエラーが発生することで、確かにホストが無効化されていることを確認

この作業は、今後BIG-IPと連携してSSLオフロード検証を行うための前提構成となるものです。

次は、BIG-IPの仮想サーバー設定を用い、Apacheの8443仮想ホストにアクセスしたり、停止時の挙動がどのようにF5側で反映されるかを検証していく予定です。

コメント

タイトルとURLをコピーしました