0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux恐怖症でもできるTomcat de HTTPSセットアップ with XServer VPS

Last updated at Posted at 2024-10-18
  • 筆者はこの分野に疎いため用語の使い方などが少しおかしい可能性がある。
  • 筆者は別にXServerのまわし者ではない。(主にコスト面から)たまたま本番環境にXServerを選んだだけの者である。

前提条件

この記事のスタート地点

プログラムが完成し.warファイルが手元に存在していて、これからサーバーを契約する段階。

最終的にやりたいこと

・XServer VPSでサーバーを契約
・XServer Domainで独自ドメインを、SSLでSSL証明(Let's Encrypt)を取得
・Apache Tomcatを整備(Apache Http Serverは使わない)
・下記の開発環境で作った.warファイルをデプロイ
・443ポートにてHTTPS通信を行いページを配信
・実行ユーザーはrootでいい (ホントは良くない、というか多分普通に良くない)
・HTTPSプロトコルを使用

開発環境

手元のパソコン

・Windows11 (Professional)
・InteliJ IDEA (Community Editionでない方)
・Tomcat 10.1.23 (開発開始当時の最新Ver.)
・Java 21

VPSサーバー

・Ubuntu(=Debian系、なんのことかわからない人は予備知識編参照のこと)

こういう背景で、本記事ではサーバー側をLinux、ローカル側をWindowsと呼ぶことがある。ローカル側もLinuxの方は適宜読み替えていただきたい。

想定読者

Javaはそこそこ分かるがLinux及びサーバー構築の知識がほぼゼロの筆者のような人

手順概要(兼目次)

第1章 XServer VPSでVPSサーバーを契約
第2章 XServer Domainで独自ドメインを取得
第3章 独自ドメインのセットアップ(レコードの設定など)
第4章 ひとまずサーバーのセットアップ(HTTPS認証をするにはまずHTTP通信ができなきゃいけない)
第5章 Let's Encryptで認証を受ける
第6章 証明書をこねこねしてJKSファイルにまとめあげる
第7章 証明書を使ってHTTPSを有効化
第8章 .warファイルのデプロイ(4以降いつでもいい)

第1章 XServer VPS契約編

ここからXServer VPSを契約する。会員登録をしてクレカ情報を打ち込めば契約できたはず。

注意点

  • このページ通りにやるのならOS(イメージファイル)はUbuntuを選択すること
  • SSHキーは新規に作る。rootユーザーでTomcatを本番運用する筆者もさすがに作るべきと考える
  • ダウンロードしたSSH通信用秘密鍵(わからない人は予備知識編参照のこと)は大切に保管する
  • Ubuntu、もといLinuxシステムのrootユーザーのパスワードを決める欄があるので忘れないこと

第2章 独自ドメイン取得編

XServerVPS管理画面の「ドメイン取得」から必要事項を記入して申請する。
初回契約は1円でも、1年後の更新から1300円したりすることもあるので値段をよく確認すること。

第3章 ドメインセットアップ編

3-1 ネームサーバー設定

公式マニュアルを参考にするとよい(手順3ではXServer VPSを選ぶこと)。

まず、右上の「サービス管理」「XServer Domain」 ページ、もしくはXServer VPS管理画面のドメイン欄の、3点メニューから、「ネームサーバー設定」を選択し、第2章で取得したドメインのネームサーバー設定画面を開く。
image.png
下の画面において、XServer VPSを選択し次へ
image.png
そして出てくるであろうOK的なものを押す。設定の反映まで数時間かかることもあるらしいので、お茶でもしながら待つ。

3-2 DNSレコード設定

ここがややこしい。
先ほど「ネームサーバー設定」を選ぶときに使った3点メニューにある「DNSレコード設定」ではなく、XServer VPS管理画面の左側のメニューにある「DNS設定」を選択。そこから対象ドメインの「選択する」を取得。
追加ボタンからAレコードを2個追加し、下のように表示されるようにする。
image.png

第4章 サーバーセットアップ編

4-1ポート開放

4-1-1XServer側の設定

トラップその1。 これをしておかないと、後々ファイアウォールを開放してもポートに繋がらない沼にハマる。
VPSサーバーの下のような管理画面を開き、右のメニューからパケットフィルター設定を開く。
image.png
パケットフィルター設定をオフにする。
image.png
多分ページ下部のフィルタールール設定から許可するポートを追加できるのだが、試行錯誤の邪魔であったため筆者はオフにした。

4-1-2Linux側の設定

VPSパネルの「コンソール」ボタンを開き、ブラウザ上でのコンソール画面を起動する。
ログインを求められるのでログインする。ユーザー名はroot、パスワードはサーバー契約時、もといシステムインストール時に決めたもの。ログインできればrootユーザーでのターミナルが起動する。
以下、Linuxのコマンドはすべてrootユーザーで実行するものとする。(つまり実はsudoいらないけどノリでついてる時がある)。

初手、ファイアウォール設定の有効化。

サーバー側
ufw enable

第2手、下の2行のどちらかを実行する(どちらでも同じ)。

サーバー側
ufw allow ssh
ufw allow 22/tcp

これで22番ポートを開放し、SSH通信への準備が整った。(意味がわからない人は予備知識編参照のこと)

第3手、次のコマンドをすべて実行し、各ポートを開放する。

サーバー側
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 8080/tcp
ufw allow 8443/tcp

今回HTTPS通信は443ポートで行うため、8443ポートのオープンは実は不要。

第4手、ファイアウォール設定の状況を確認する。

サーバー側
ufw status

80,443,8080,8443のすべてのポートとそのv6がallowになっていればOK。

4-2 手元のWindowsからSSH接続

ブラウザ上のターミナルは操作性が悪い。そのため、WindowsからSSh接続を行い、以降Windowsのコマンドプロンプトから制御を行う。ここでサーバー契約時もといシステムインストール時にダウンロードしたさーばーのSSH接続用秘密鍵を使う。

手元にあるWindowsのコマンドプロンプト
C:\Users\ユーザー名> ssh -i SSH秘密鍵のパス.pem root@xxx.xx.xx.xx

xxxはVPSサーバーのIPアドレス。秘密鍵を持ってる時点で本人であることが確定するので、パスワードは聞かれない。
これでコマンドプロンプトがLinuxターミナルに早変わりする。ブラウザ版のときと同じように扱える。なぜかコマンドのコピペはできない。

4-3 WinSCPをインストール & セットアップ

WinSCPとは...WIndows側のファイルをLinux側にアップロードしたり、その逆でLinux側のファイルをWindows側にダウンロードしたりという作業がGUIで楽々できちゃうWindowsアプリケーション。この後SSL認証用ファイルやSSL認証証明書、.warファイルをデプロイするために使う。 ファイルの送受信を行わなくてもディレクトリの構造を見たり所有者や権限をみたりと色々な作業が楽にできるので今のうちにいれることをおすすめする。
ここからダウンロード・インストールを行う。
大変申し訳無いがインストールスタイルをWindowsスタイルにしたかもう1つのものにしたか覚えていない。おそらくWindows風...?

image.png

ホスト名にVPSサーバーのIPアドレスを入力、パスワードには何も入力せずに、
設定→SSH→認証
image.png
秘密鍵にSSHサーバー用秘密鍵を選択するのだが、XServerのWEBサイトから入手できる.pemファイルはいきなり選択できないので、ファイル選択ウィンドウでファイルの種類をすべての秘密鍵ファイルにし、XServerのWEBサイトからダウンロードした.pemファイルを選択すると、.ppkファイルに変換するか効かれるので変換する。できたらOKを押して、保存を押して設定を保存してから「ログイン」を押す。
すると、左側にはWindowsの、右側にはLinuxのディレクトリの構造がそれぞれWindowsのエクスプローラー風に表示される。これでファイルのアップロード・ダウンロードがドラッグアンドドロップで楽にできる。

4-4 テキストエディタをインストール

本稿ではテキストエディタにnanoを使う。
以下のコマンドを順番通りに実行する。

サーバー側
apt update
apt install nano

これで、以降

サーバー側
nano ファイル名

でファイルの編集ができる。
保存はCtrl + Oからファイル名を決めてEnterCtrl + Xでnanoを閉じる。

4-5Javaをインストール

Linux側ではTomcatと.warに入っている.jarの実行ができればよいのでJREのみをいれればよい...と言いたいところなのだが、後でSSL認証の鍵をJKSファイルというものにまとめるときに1回だけJDKにしか含まれていないファイル(cacerts)を使用することがある。選択肢は2つ存在している。
・LinuxにはJREのみをインストールして、必要なファイルだけWindows等手元の開発環境のJDKから持ってくる。
・LinuxにJDKごと入れてしまう
筆者は前者を選択したため、前者の方法を紹介する。
以下のコマンドを順番に打っていくだけである。

サーバー側
apt update
apt install openjdk-21-jre

これができたら、

サーバー側
java -version

などでインストールに成功しているか確認すると良い。

4-6 Apache Tomcatをインストール

opt/apache-tomcat-{バージョン名}/にインストールしたい。
optディレクトリはインストールするユーザーのホームに作った方が良いかもなのだが、今回はrootで実行してしまうのでrootに作る。
ひとまず次のコマンドでTomcatを入れるディレクトリを作っておく。

サーバー側
mkdir opt

最新バージョンをインストールするときはaptコマンドでもいいらしいのだが、筆者の場合開発環境で使っていた、開発開始時の最新バージョン10.1.23はもう最新バージョンではなくなっていた。
そのため、アーカイブ保管ページから圧縮ファイルを取ってくる。
該当バージョンをクリックし得た下の画面からbinを選択。
image.png

ここから2通り方法がある。
方法1.リンクからwgetコマンドでダウンロード
そこから、apache-tomcat-{バージョン}.tar.gzのリンクをコピーする。
image.png

こんなリンクを得る。

https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.23/bin/apache-tomcat-10.1.23.tar.gz

そのリンクを使って圧縮ファイルをダウンロードする。

サーバー側
wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.23/bin/apache-tomcat-10.1.23.tar.gz

方法2.Windowsを経由する
同様のリンクをコピーするのではなく、クリックしてtar.gzファイルを一度Windowsにダウンロードして、WinSCPで該当フォルダにコピーする。リンクを手打ちしなくて良い分こちらのほうが楽かも。

4-7 1回起動

1回起動を試みる。
以下、Tomcatのバージョンは10.1.23とするのでこの数字は適宜打ち替えること。
カレントディレクトリがoptだとして、

サーバー側
cd apache-tomcat-10.1.23
bin/startup.sh

これでTomcatが起動できるはず。
お手元のPCのブラウザに以下のいずれかのリンクを打ち込んで、Tomcatのウェルカムページが表示されるか試すとよい。(httpの後のコロンを全角にしてあるため、半角に直すこと)

  • http://{VPSサーバーのIPアドレス}:8080/
  • http://example.com:8080/

以下、opt/apache-tomcat-10.1.23にカレントディレクトリを移す作業をcd CATALINA_HOMEと書く。(コピペして実行できるわけではない。最もパス通せば行けるとは思う)

4-8 80番ポートへの切り替え(HTTP通信の有効化)

アドレスバーに8080と打ち込まなければならないのは見栄えが悪いので消したいところ。そもそも、8080なしでアクセスできるようにしないと後でSSL証明書を受け取るときの認証ができない。
この状況は、Tomcatがデフォルトでは8080ポートでHTTP通信を行うのに、ブラウザはHTTPプロトコルで通信を行う場合デフォルトでアクセスするポートが80だから、わざわざ「8080ポートにアクセスしてね~」と教えてやらなくてはいけないことに起因している。そのため、こちらがHTTP通信を行うポートを80ポートに変えればよい。リンクのポート表記を省略できる。

次のコマンドでserver.xmlファイル(予備知識編参照のこと)を編集する。

サーバー側
cd CATALINA_HOME
nano conf/server.xml
server.xml
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

808080に打ち替えこうする。

server.xml
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

Ctrl + Oで保存してCtrl + Xnanoを閉じたら、
Tomcatを再起動する。

サーバー側
cd CATALINA_HOME
bin/shutdown.sh
bin/startup.sh

これで、お手元のWindowsのブラウザから

  • http://{VPSサーバーのIPアドレス}/
  • http://example.com/

で先程と同様のページにアクセスできるはず。

第5章 SSL認証編

5-1 XServer側で申請

XServer VPS管理画面右上の「サービス管理」から「XServer SSL」もしくはXServerVPS管理画面のSSL証明書欄の追加申し込みから、SSL証明書申し込み画面へ移動する。
利用したいSSLのブランドを選び(今回はコストを抑えたいので無料のLet's Encrypt)、証明書を付与してほしいドメインを入力するのだが、例えばexample.comの場合、www.example.comと、必ずwwwをつけて申請すること。XServer側も警告を出してくれるが、
www.example.comで申請すればwww.example.comexample.comの両方に証明書が付与される一方、
example.comで申請するとexample.comにしか証明書が付与されない。

5-2 WEB認証の準備

認証方法を選ぶ画面になるので、WEB認証を選択する。2つのファイルを指定のURLでアクセスできるようにすることを求められる。WinSCPを用いて、新規にディレクトリを作りながらopt/apache-tomcat-10.1.23/webapps/.well-known/acme-challenge/にその2つのファイルを置く。
.well-knownのような.から始まるディレクトリは隠しディレクトリとして扱われるため、WinSCPにおいてはじめは表示されない。右下に「隠しディレクトリを非表示にしている」旨のアイコンがあるので、そこを押して表示させる。
設置が完了したらTomcatを再起動し、XServerからWEBページで指定されたリンクを開いてファイルの内容が表示されるかを検証する。

サーバー側
cd CATALINA_HOME
bin/shutdown.sh
bin/startup.sh

5-3 証明書3種の神器の入手

準備ができたらXserverのページでいい感じに「次へ」を押すと「SSL証明書」「中間証明書」「秘密鍵」をダウンロードするページに移動できる。SSH接続の証明書と異なり何回でもダウンロードが可能。
それぞれダウンロードして、
SSL証明書をclient.crt
中間書をserver.crt
秘密鍵をclient.key
となるようにリネームする。
できたら、それらのファイルをWinSCPを用いてopt/apache-tomcat-10.1.23/confに配置する。
次章でこれらをTomcatが使える形に加工する。

第6章 証明書セットアップ編

この章はここをベースに書かせていただいている。
この記事のclient.key,client.crt,server.crtがそれぞれXServerでいうところの秘密鍵、SSL証明書、中間証明書に対応しているわけである。

6-1 JKSファイルのタネを入手

ここだけJDKが必要である。筆者は手元のWindowsから必要なファイルだけコピーして使用したので、その方法を記述するが、LinuxにJDKごとインストールした人はそこにあるファイルを使えば良い。
何らかの方法で、{JAVA_HOME}/lib/security/cacerts(拡張子がないファイル)を、Linux側のCATALINA_HOME/conf/の中にいれる。このファイルにはHTTPSプロトコルを使用するうえでの主要なルート証明書情報が含まれている(by Oracle公式ドキュメント)のでありがたく拝借する寸法である。

以下、この章の作業はconfディレクトリで行う。

サーバー側
cd CATALINA_HOME/conf

6-2 ベースのJKSファイルを作る

サーバー側
cp cacerts mycacerts.jks

でJKSファイルを作る。
このファイルのデフォルトパスワードはchangeitなので、次のコマンドでお望み通り変えてあげる。

サーバー側
keytool -storepasswd -keystore mycacerts.jks
今のパスワード> changeit
新しいパスワード> <新しいパスワード>
確認のため再入力> <新しいパスワード>

これでベースのJKSファイルができた。ここに3つの証明書をインポートする。

6-3 PKCSファイルの作成

いきなり全部インポートするのではなく、秘密鍵とSSL証明書を一度PKCSファイル(拡張子.p12)という別形式の鍵ファイルにインポートしてから、PKCSファイルをJKSファイルにインポートし、そのJKSファイルに中間証明書もインポートするという手順で行う。

サーバー側
openssl pkcs12 -export -in client.crt -inkey client.key -out client_certs.p12 -name mycacerts

ここでもパスワードを設定するよう求められる。JKSファイル作成時と違うものでもいいらしいが、ややこしいしどうせ最後はJKSファイルにインポートするのだから同じものにする。
これで秘密鍵とSSL証明書をPKCSファイルにまとめることができた。

6-4 PKCSをJKSにインポート

サーバー側
keytool -importkeystore -srckeystore client_certs.p12 -srcstoretype pkcs12 -destkeystore mycacerts.jks -deststoretype jks -srcstorepass <PKCSのパスワード> -deststorepass <JKSのパスワード>

これでJKSに秘密鍵とSSL証明書がインポートされた状態になった。最後に中間証明書をインポートする。

6-5 中間証明書のインポート

サーバー側
keytool -importcert -trustcacerts -file server.crt -keystore mycacerts.jks

これでTomcatに与える鍵ファイルの完成である。

第7章 証明書適用編

server.xmlを開く

サーバー側
cd CATALINA_HOME
nano conf/server.xml

まず、

server.xml
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

8443443に打ち替え

server.xml
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443"
               maxParameterCount="1000"
               />

こうする。

次に、以下のConnectorタグを追加する。

server.xml
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true"
               maxParameterCount="1000">
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/mycacerts.jks" certificateKeystorePassword="JKSのパスワード"
                         type="RSA" />
        </SSLHostConfig>
</Connector>

そしてサーバーを再起動する。

サーバー側
cd CATALINA_HOME
bin/shutdown.sh
bin/startup.sh

これでHTTPSプロトコルの使用が可能になり、お手元のWindowsのブラウザから

  • https://{VPSサーバーのIPアドレス}/
  • https://example.com/

で先程と同様のページにアクセスできるはず。

第8章 .warファイルデプロイ編

8-1 Tomcatを止める

サーバー側
cd CATALINA_HOME
bin/shutdown.sh

8-2 .warファイルをデプロイ

WinSCPを用いる。Linux側で、opt/apache-tomcat-10.1.23/webappsを開き、そこに対象の.warファイルをWindowsのエクスプローラーからドラッグアンドドロップする。これでデプロイは完了。

8-3 Tomcat起動

サーバー側
cd CATALINA_HOME
bin/shutdown.sh

Tomcatはwebappsディレクトリ内の変化を常に見張っていて、新しい.warファイルを見つけると自動で展開して適切に配備してくれる。(だから本当はTomcatを止める必要もない)

これで、
これで、お手元のWindowsのブラウザから

  • https://{VPSサーバーのIPアドレス}/{.warファイルの名前}/{開きたいページのファイル名やURLパターン}
  • https://example.com/{.warファイルの名前}/{開きたいページのファイル名やURLパターン}

で任意のページを開くことができるようになる。目標達成である。

予備知識編

デプロイとは

サーバーに配信したいデータをアップロードすること。

Debian系, CentOS系

Linuxには2つ大きな系統があるそう。Debian系とCentOS系である。どちらもLinuxだからほぼ同じことができるが、コマンド名が異なることもしばしば。

VPSサーバーとは

レンタルサーバーのようなもの。
違いとして、VPSサーバーにはroot権限があり(=Linuxなりなんなりのコンソールを自在に扱える)、使えるシステムに制限がない点が挙げられる。WordPressのみ、などではなくTomcatでもなんでも使うことができる。

SSH通信とは

手元にあるパソコンのターミナル(例えばWindowsのコマンドプロンプトやPowerShell)と手元にないパソコンのターミナル(VPSサーバーのLinuxのターミナル)を安全に接続する通信。手元のパソコンに秘密鍵(.pemファイルや.ppkファイルなどの形式)が必要。

DNSレコードとは

ドメインとIPアドレスを結びつけるための設定のこと。
とりあえず今回見かけるレコードたちを紹介。

  • SOAレコード
    権威サーバーというものを指し示すそう。使わない。
  • NSレコード
    おそらく読みはネームサーバーレコード。ドメインを登録するDNSサーバーを指し示すそう。使わない。
  • Aレコード
    自分のドメインとそのIPアドレスを結びつけるレコード。今回はこいつを設定していく。

SSL認証とは

これがないとHTTPプロトコルになる。セキュリティが弱い。良くない。見栄えが悪い。
適切な認証局で認証を受け、貰い受けた証明書を使えばWEBサイトの通信を暗号化し、HTTPSプロトコルというセキュリティ強めな通信ができるようになる。見栄えもいい。社会的な信用を基に成り立っているというこのセキュリティシステムの性質上、しっかりした認証局での認証は高額だが、個人のためにLet's Encryptという無料で認証を受けられるサービスがある。ありがたい。このサイトを見るといろいろ分かっていいと思う。

有名なポート一覧

  • 22番
    SSH通信を行うポート。向こうのパソコンの22番ポートをオープンしとかないとSSH通信はできない。
  • 80番
    HTTP通信を行う標準的なポート。アドレスバーでポート番号を指定しない限りHTTP通信をしたいブラウザはここにアクセスしてくる。
  • 443番
    HTTPS通信を行う標準的なポート。アドレスバーでポート番号を指定しない限りHTTPS通信をしたいブラウザはここにアクセスしてくる。

上記の1024番以下のポートは(少なくともLinuxでは)特権ポートと呼ばれ、rootユーザーしか使えない。(AuthBindっていうパッケージをaptで持ってくれば使える。ここを見るとよい)

  • 8005番
    TomcatがSHUTDOWNコマンドをリッスンしてるポート。Tomcatが稼働しているときにこのポートへアクセスして「SHUTDOWN」と送るとTomcatが停止するそう。しかし8005番ポートをファイアウォールで通さなければ大丈夫。
  • 8080番
    世間一般的にはHTTP通信を行うための代替ポート。デフォルトのTomcatはここでHTTPをリッスンする。
  • 8443番
    世間一般的にはHTTPS通信を行うための代替ポート。デフォルトのTomcatはここでHTTPSをリッスンする。

server.xmlとは

Tomcatフォルダの中のconfフォルダの中にある、Tomcatの設定ファイルの一種。ここで使用するポートを指定したりできる。詳しい仕様は公式リファレンスをチェック!ここでは特に重要ないくつかのタグや属性を紹介する。

  • Serverタグの中にネストさせるタグ:Connector
    基本となるタグ。このタグ1つにつき1つのTomcatの出入り口を定義できる。複数個定義することもできる。というかそれが普通。

  • Connectorタグの属性:port (ポート番号)
    対象のConnectorタグと指定したポート番号を結びつけることができる。

  • Connectorタグの属性:enableLookups (true or false)
    デフォルトはfalse。trueにすると、アクセスしてきたクライアントのIPアドレスから、DNSサーバーを参照(=Look up)し、ホスト名を調べてくれる。使わない。

  • Connectorタグの属性:SSLEnabled (true or false)
    デフォルトはfalse。HTTPSプロトコルを使うConnectorではtrueにする。

  • Connectorタグの属性:redirectPort (ポート番号)
    そのConnectorがSSLに対応していなくて(=HTTPプロトコル用で)、でもHTTPSプロトコルでのリクエストが来た場合に、この属性で指定したポートにリダイレクトさせることができる。

  • Connectorタグの属性:protocol (下記の3つから選べる)
    org.apache.coyote.http11.Http11NioProtocol
    org.apache.coyote.http11.Http11Nio2Protocol
    org.apache.coyote.http11.Http11AprProtocol
    の中から使うプロトコルを選べる。いずれもHTTP1.1仕様と思われる。HTTP2を使うにはUpgradeProtocolタグの記述が必要。

  • Connectorタグの中にネストさせるタグ:UpgradeProtocol
    下のように使うことで対象のConnectorタグが使う通信規格をHTTP2に格上げできる。

server.xml
<Connector>
  <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
</Connector>
  • Connectorタグの中にネストさせるタグ:SSLHostConfig
    secure属性がtrueのConnectorタグは、最低でも1つのSSLHostConfigタグを子タグとして持っていなくてはならない。ここでSSL(HTTPSプロトコル)の定義を行う。

  • SSLHostConfigタグの中にネストさせるタグ:Certificate
    SSLHostConfigタグは少なくとも1つのCertificateタグを子タグとして持っていなくてはならない。
    ここでは紹介しないが、passwordを指定する系の属性がいくつかあり、使うのものを間違えないように注意が必要である。間違えるとTomcatの起動に失敗したりHTTPSが繋がらなかったりして、ログ(logs/catalina.out)にて"Password was incorrect"などの少しズレたエラーを返される。

また、これらもここでは紹介しないが、Connectorタグのscheme属性、secure属性は知っていてもよいだろう。

便利なLinuxコマンド編

  • 新しいパッケージをインストール(aptコマンド)
サーバー側
apt update
apt isntall パッケージ名
  • カレントディレクトリにあるディレクトリ一覧
サーバー側
ls -d */
  • 空のファイルを作る
サーバー側
sudo touch ファイル名
  • リッスンしてるポート一覧
サーバー側
sudo netstat -tuln
  • N番ポートのファイヤウォール開放
サーバー側
sudo ufw allow N/tcp
  • ファイアウォール状況確認
サーバー側
sudo ufw status
  • メモリ使用量を確認(どちらでもよい)
サーバー側
top
free -m
  • Tomcatのログ(opt/apache-tomcat-10.1.23は読み替えて)
サーバー側
cat opt/apache-tomcat-10.1.23/logs/catalina.out

参考文献編

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?