UbuntuでSSLを利用したWebサービスを構築する


はじめに

Webサイトを制作しているとローカル環境にWebサービスを立ち上げて動作確認することがあると思います。今回は、MacBookにUbuntuの仮想環境を作り、SSL通信のWebサービスを構築しました。
こちらのサイトを参考にさせていただきました。
詳しくは分かりませんが、オレオレSSL証明書なので、Chromeではつながらなかったです。Safariで動作確認を行いました。

構築環境

  • MacBookPro MacOS:10
  • VirtualeBox 6.0
  • Ubuntu 18.04
  • Apache 2.4
  • Chrome 79.0
  • Safari 13.0

UbuntuにApacheをインストールする

まず、Apacheがインストールされているかを確認します。httpdもしくはapache2コマンドでApacheインストール有無の確認します。

$ httpd -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2019-09-16T12:58:48

or

$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2019-09-16T12:58:48

Apacheがインストールされていない場合は、Apacheをインストールしましょう。

$ sudo apt-get install apache2

次にApacheのSSLモジュールとデフォルトのSSLのサイトを有効化し、Apacheを再起動します。

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo service apache2 restart

Apacheが443番ポートの待ち受け状態かどうかを確認します。

$ ss -lnt
State      Recv-Q    Send-Q        Local Address:Port          Peer Address:Port
LISTEN     0         128                       :::80                      :::*
LISTEN     0         128                      :::443                      :::*

SSLで通信を行うには、SSL証明書をサーバーにインストールしなければなりません。Ubuntuの場合、Apache2をインストールした時にSSL証明書が自動的に作成されて利用可能にな利ます。なんて便利で簡単なんだ!

動作確認

Webブラウザーからhttps://(サーバーのIPアドレス)にアクセスします。
最新のChromeではOCSPが無効のようで接続できませんでした。

SafariでWarningを許可してあげると繋がりました。

今回はここまで。これでhttpsでしか動作しない機能(メディアデバイスなど)をローカル環境で検証できそうです。