31歳ほぼ未経験からIT業界へ転職。備忘録と勉強になればと思いサイトを立ち上げました。

IT技術のあれこれ

AWS

AWSのTomcatに証明書をインストール

更新日:

スポンサーリンク

 

AWSのTomcatに証明書をインストールする方法を備忘録として残していきます。

AWSのインスタンスはVPCから作成して、Tomcatはインストールしておきます。

Tomcatは、Apacheと同様にopensslで設定するものだと思っていたのですが、「keytool」を使用して設定するようでした。

 

Tomcatに証明書をインストール

rootユーザに昇格します。

sudo su -

 

「.keystore」を作成します。

作成しているパスは/rootで作成しています。

keytool -genkey -alias tomcat -keyalg RSA -keystore certtest.keystore -validity 3650

 

「.keystore」の設定をします。

Enter keystore password:   ←パスワードを入力
Re-enter new password:   ←再度、同じパスワードを入力
What is your first and last name?
[Unknown]: 3.xxx.xxx.xxxx   ←サーバーのIPを入力します
What is the name of your organizational unit?
[Unknown]: test   ←testを入力
What is the name of your organization?
[Unknown]: test   ←testを入力
What is the name of your City or Locality?
[Unknown]: test   ←testを入力
What is the name of your State or Province?
[Unknown]: test   ←testを入力
What is the two-letter country code for this unit?
[Unknown]: jp   ←testを入力
Is CN=3.112.230.4, OU=test, O=test, L=test, ST=test, C=jp correct?
[no]: yEnter key password for <tomcat>   ←yesを入力
(RETURN if same as keystore password):Warning:   ←keystore と同じパスワードの場合は、空エンターを入力
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore certtest.keystore -destkeystore certtest.keystore -deststoretype pkcs12".

 

lsコマンドで、「.keystore」が作成されていることを確認します。

# ls -la
total 24
dr-xr-x--- 3 root root 128 Apr 24 16:33 .
dr-xr-xr-x 18 root root 257 Apr 24 12:43 ..
-rw-r--r-- 1 root root 18 Oct 18 2017 .bash_logout
-rw-r--r-- 1 root root 176 Oct 18 2017 .bash_profile
-rw-r--r-- 1 root root 176 Oct 18 2017 .bashrc
-rw-r--r-- 1 root root 2216 Apr 24 16:33 certtest.keystore   ←「.keystore」が作成されています
-rw-r--r-- 1 root root 100 Oct 18 2017 .cshrc
drwx------ 2 root root 29 Apr 24 12:43 .ssh

 

Tomcatがインストールされているパスにコピーします。

コピー前に、「.keystore」が存在しないことを確認します。

ls -la /etc/tomcat/
total 228
drwxr-xr-x 4 root tomcat 231 Apr 24 16:18 .
drwxr-xr-x 88 root root 8192 Apr 24 16:18 ..
drwxrwxr-x 3 root tomcat 23 Apr 24 16:18 Catalina
-rw-r--r-- 1 root tomcat 13443 Mar 5 19:32 catalina.policy
-rw-r--r-- 1 root tomcat 6696 Mar 5 19:32 catalina.properties
drwxr-xr-x 2 root tomcat 20 Apr 24 16:18 conf.d
-rw-r--r-- 1 root tomcat 1394 Mar 5 19:32 context.xml
-rw-r--r-- 1 root tomcat 547 Mar 5 19:33 log4j.properties
-rw-r--r-- 1 root tomcat 3288 Mar 5 19:32 logging.properties
-rw-r--r-- 1 root tomcat 6629 Mar 5 19:32 server.xml
-rw-r--r-- 1 root tomcat 1654 Mar 5 19:33 tomcat.conf
-rw-r----- 1 root tomcat 2418 Mar 5 19:32 tomcat-users.xml
-rw-r--r-- 1 root tomcat 167655 Mar 5 19:32 web.xml

 

「.keystore」をコピーします。

cp certtest.keystore /etc/tomcat/

 

lsコマンドで、コピーされていることを確認します。

ls -la /etc/tomcat/
total 232
drwxr-xr-x 4 root tomcat 256 Apr 24 16:35 .
drwxr-xr-x 88 root root 8192 Apr 24 16:18 ..
drwxrwxr-x 3 root tomcat 23 Apr 24 16:18 Catalina
-rw-r--r-- 1 root tomcat 13443 Mar 5 19:32 catalina.policy
-rw-r--r-- 1 root tomcat 6696 Mar 5 19:32 catalina.properties
-rw-r--r-- 1 root root 2216 Apr 24 16:35 certtest.keystore←「.keystore」がコピーされています
drwxr-xr-x 2 root tomcat 20 Apr 24 16:18 conf.d
-rw-r--r-- 1 root tomcat 1394 Mar 5 19:32 context.xml
-rw-r--r-- 1 root tomcat 547 Mar 5 19:33 log4j.properties
-rw-r--r-- 1 root tomcat 3288 Mar 5 19:32 logging.properties
-rw-r--r-- 1 root tomcat 6629 Mar 5 19:32 server.xml
-rw-r--r-- 1 root tomcat 1654 Mar 5 19:33 tomcat.conf
-rw-r----- 1 root tomcat 2418 Mar 5 19:32 tomcat-users.xml
-rw-r--r-- 1 root tomcat 167655 Mar 5 19:32 web.xml

 

Tomcatのディレクトリに移動します。

cd /etc/tomcat/
pwd
/etc/tomcat

 

server.xmlを編集するので、作業前にバックアップしておきます。

cp -p server.xml server.xml_backup

 

viでserver.xmlを編集していきます。

8443のポートに接続するように編集していきます。

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

 

<!--と-->を削除して、コメントアウトを外します。

keystorePass="xxxx"には、パスワードを入力します。

keystoreFile="/etc/tomcat/certtest.keystore"には、「.keystore」のパスを指定します。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystorePass="xxxx" keystoreFile="/etc/tomcat/certtest.keystore"/>

 

Tomcatを再起動します。

systemctl stop tomcat.service
systemctl start tomcat.service
systemctl status tomcat.service

 

https://IPアドレス:8443でアクセスします。

警告が表示されるので、詳細設定をクリックします。

awsec2_teratermmacro_autologin_02

 

今回は、自分で用意した証明書と設定になるので、「IPアドレスにアクセスする(安全ではありません)」をクリックして、サイトにアクセスします。

awsec2_teratermmacro_autologin_03

 

無事、サイトにアクセスすることができました。

awsec2_teratermmacro_autologin_04

 

ただ、8080のポートは残してあるままなので、まだ「IPアドレス:8080」にアクセスできるようになっていました。

今回はここまでで終了して、8080にはアクセスできないように設定したいと思います。

awsec2_teratermmacro_autologin_05

 

 

 

-AWS
-, ,

Copyright© IT技術のあれこれ , 2024 AllRights Reserved.