ローカル環境でSpringBootをSSL対応させる方法

Spring Bootをローカル環境で起動し、SSL対応させる方法

Spring Boot アプリケーションをローカル環境で起動し、SSL(HTTPS)に対応させるためには、以下の手順に従います。

手順 1: 自己署名証明書の作成

1. 自己署名証明書の作成

OpenSSL などのツールを使用して自己署名証明書を作成します。
以下のコマンドを使用します。

openssl genpkey -algorithm RSA -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem

このコマンドで、key.pem(秘密鍵)、csr.pem(証明書署名要求)、cert.pem(自己署名証明書)が生成されます。

2. PKCS12 キーストアの作成

作成した秘密鍵と証明書を PKCS12 キーストアに変換します。

openssl pkcs12 -export -in cert.pem -inkey key.pem -out keystore.p12 -name myalias

パスワードを入力して、keystore.p12 ファイルを作成します。

手順 2: Spring Boot 設定の変更

1. application.properties または application.yml の設定

Spring Boot アプリケーションの設定ファイルに、SSL の設定を追加します。
src/main/resources フォルダ内の application.properties または application.yml ファイルを編集します。

application.properties:

server.port=8443
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=yourpassword
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=myalias

application.yml:

server:
 port: 8443
 ssl:
   key-store: classpath:keystore.p12
   key-store-password: yourpassword
   key-store-type: PKCS12
   key-alias: myalias

2. keystore.p12 ファイルの配置

作成した keystore.p12 ファイルを src/main/resources フォルダに配置します。

手順 3: Spring Boot アプリケーションの起動

以下のコマンドを使用して Spring Boot アプリケーションを起動します。

mvn spring-boot:run

または

./mvnw spring-boot:run

起動後、ブラウザで https://localhost:8443 にアクセスし、アプリケーションが HTTPS で動作していることを確認します。
自己署名証明書を使用しているため、ブラウザは証明書に対して警告を表示する可能性があります。

以上が、Spring Boot アプリケーションをローカル環境で起動し、SSL に対応させる手順です。