Springboot]https(SSL)の適用
今日はSpringBootベースのWebアプリケーションにSSLを適用する方法を学びます.
1.概要
基本的には、個別のsslが適用されない限り、作成したプロジェクトはhttp://~で開始されます.
ではhttpとhttpの違いは何でしょうか.
1-1. http vs https
1.保安 http: Hyper Text Transfer Trotocol https: Hyper Text Transfer Trotocol Secure 違いは上記の略記からも分かるように、コアは安全です.
httpは、既存のhttpプロトコルにデータ暗号化を追加するプロトコルです.
httpsは、対称鍵暗号化または非対称鍵暗号化によって暗号化をサポートし、ネットワーク上の第三者の間で情報を見ることができない.
2.デフォルトポート
httpは基本的に80ポートを使用します.
httpsのデフォルトでは443ポートが使用されます.
2.実施方法
2-1. 新規プロジェクトの作成
まず、Spring Initializerで新しいプロジェクトを作成します. Spring Initializeアドレス
https://start.spring.io
2-2. keystoreの作成
httpsを使用してsslを適用するにはkeystoreを作成する必要があります.
作成するkeystoreファイルは、Webサイトのセキュリティを担当する重要な部分であると考えられます.
作成したプロジェクトのルートパスで、次のコマンドを実行します.
コマンドが正常に動作している場合は、次のようにパスワードの入力を求めるウィンドウが表示されます.
私たち個人が使っている部分なので、パスワードさえ覚えていれば大丈夫です.
入力は上記の通りで、最後にyesを入力してkeystoreを表します.p 12が現在の経路から生成されていることが確認できる.
2-3. application.属性の変更
現在作成されているkeystoreを識別するためにspringfootプロジェクトでkeystoreを変更するだけです. server.ssl.key-store: keystore.p 12が存在するパス(デフォルトは現在のプロジェクトルート) server.ssl.key-store-type:keystoreのstoretype
前のコマンドで server.ssl.key-store-password:以前に設定したkeystore password 2-4. サーバの再起動
sslを適用するすべての準備ができました.
サーバーを再起動して確認します.
IF)http://localhost:8084
以上のように、本プロジェクトはhttpベースで実行されるため、httpアクセスを使用するとBad Request文が表示され、アクセスできません.
IF)https://localhost:8084
最初にこのパスを介してアクセスすると、セキュリティに関連するさまざまな文が表示されます.
これは,我々が作成したkeystoreが簡略化されているため,警告を発すると理解できる.
無視してページを開くと、上記SpringBootを実行すると、最初のページが表示されます.完全ソース
https://github.com/cho876/Study/tree/master/sslStudy
1.概要
基本的には、個別のsslが適用されない限り、作成したプロジェクトはhttp://~で開始されます.
ではhttpとhttpの違いは何でしょうか.
1-1. http vs https
1.保安
httpは、既存のhttpプロトコルにデータ暗号化を追加するプロトコルです.
httpsは、対称鍵暗号化または非対称鍵暗号化によって暗号化をサポートし、ネットワーク上の第三者の間で情報を見ることができない.
2.デフォルトポート
httpは基本的に80ポートを使用します.
httpsのデフォルトでは443ポートが使用されます.
2.実施方法
2-1. 新規プロジェクトの作成
まず、Spring Initializerで新しいプロジェクトを作成します.
https://start.spring.io
2-2. keystoreの作成
httpsを使用してsslを適用するにはkeystoreを作成する必要があります.
作成するkeystoreファイルは、Webサイトのセキュリティを担当する重要な部分であると考えられます.
作成したプロジェクトのルートパスで、次のコマンドを実行します.
keytool -genkey -alias spring -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 4000
コマンドが正常に動作している場合は、次のようにパスワードの入力を求めるウィンドウが表示されます.
私たち個人が使っている部分なので、パスワードさえ覚えていれば大丈夫です.
入力は上記の通りで、最後にyesを入力してkeystoreを表します.p 12が現在の経路から生成されていることが確認できる.
2-3. application.属性の変更
現在作成されているkeystoreを識別するためにspringfootプロジェクトでkeystoreを変更するだけです.
server.port: 8084 // 개인적으로 포트를 8084로 바꿔줌 (ssl과 무관)
server.ssl.key-store:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=qwerty1!
前のコマンドで
keytool ~ -storetype PKCS12 ~
に設定したので、PKCS 12として位置づけます.sslを適用するすべての準備ができました.
サーバーを再起動して確認します.
IF)http://localhost:8084
以上のように、本プロジェクトはhttpベースで実行されるため、httpアクセスを使用するとBad Request文が表示され、アクセスできません.
IF)https://localhost:8084
最初にこのパスを介してアクセスすると、セキュリティに関連するさまざまな文が表示されます.
これは,我々が作成したkeystoreが簡略化されているため,警告を発すると理解できる.
無視してページを開くと、上記SpringBootを実行すると、最初のページが表示されます.
https://github.com/cho876/Study/tree/master/sslStudy
Reference
この問題について(Springboot]https(SSL)の適用), 我々は、より多くの情報をここで見つけました https://velog.io/@cho876/Springboot-httpsSSL-적용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol