Установите бесплатный сертификат Let's Encrypt SSL для Spring Boot
1. Цель статьи
Let's Encrypt - это автоматическая система получения бесплатных SSL сертификатов предоставляемая компанией Internet Security Research Group (ISRG). Let's Encrypt предоставляет два типа сертификатов: SSL для стандартных доменных имен и Wildcard SSL для стандартных доменов и поддоменов (subdomain).
В этой статье я расскажу вам, как создать SSL Let's Encrypt сертификатдля вашего доменного имени и развернуть его для приложения Spring Boot.
Инструкции будут выполнены в операционной системе Ubuntu, потому что в этой системе доступны такие инструменты, как openssl и keytool. Однако вы можете работать с операционной системой Windows, если установите эти инструменты.
Хотя SSL сертификат, предоставляемый Let's Encrypt, является бесплатным, но он имеет очень короткий срок действия, а именно 90 дней, поэтому через каждые 90 дней вы должны заново создавать сертификат SSL. Но, слава Богу, шаги по воссозданию сертификата очень просты и не отнимают у вас много времени.
Может быть, вам это интересно:
2. Регистрация SSL сертификата
Существует несколько способов регистрации сертификатов Let's Encrypt, но я настоятельно рекомендую вам зарегистрироваться по адресу sslforfree.com. Этот веб-сайт позволяет вам создать учетную запись с вашей электронной почтой и зарегистрировать SSL сертификат для вашего доменного имени. Когда нужно повторно создать сертификат, вам нужно всего лишь кратко нажать кнопку мыши, чтобы загрузить новый сертификат со сроком действия 90 дней.
Прежде всего, на sslforfree.com, введите свое доменное имя и нажмите кнопку "Create Free SSL Certificate".
Веб-сайт sslforfree попросит вас создать учетную запись, если вы не сделали этого раньше.
Затем вы должны убедиться, что вы действительно являетесь владельцем этого доменного имени, и предоставить информацию о вашем доменном имени (ваша страна, город, название компании и т. д.)
Наконец, Let's Encrypt позволит вам загрузить файл ZIP, содержащий 3 файла.
Примечание: для веб-приложений, написанных на языке Java, необходимо выбрать Tomcat для "Server Type".
- certificate.crt: Certificate generated for your domain name.
- private.key: Private key of your certificate.
- ca_bundle.crt: Intermediate CA (Certificate Authority)
3. Преобразование в формат PKCS-12
На Ubuntu, распакуйте ZIP архив, который вы скачали. Например:
- /home/{username}/mydomain.com
Java приложения могут открыть сертификаты, когда они находятся в формате PKCS-12 (*.p12), поэтому вы должны преобразовать извлеченные файлы в этот формат.
openssl pkcs12 -export -in /home/tran/mydomain.com/certificate.crt -inkey /home/tran/mydomain.com/private.key -name mydomain -out /home/tran/mydomain.com/mydomain_com.p12
keytool -importkeystore -deststorepass YourPassword -destkeystore /home/tran/mydomain.com/mydomain_com.jks -srckeystore /home/tran/mydomain.com/mydomain_com.p12 -srcstoretype PKCS12
keytool -importkeystore -deststorepass YourPassword -destkeystore /home/tran/mydomain.com/mydomain_com.jks -srckeystore /home/tran/mydomain.com/mydomain_com.p12 -srcstoretype PKCS12
После выполнения вышеуказанных двух команд у вас будет 2 новых файла, как показано ниже:
4. Конфигурация Spring Boot
В проектеSpring Boot, откройте application.properties для настройки SSL.
application.properties
server.port=443
server.ssl.key-store=file:/home/tran/mydomain.com/mydomain_com.p12
server.ssl.key-store-password=YourPasswoord
server.ssl.key-alias=mydomain
Разверните свой веб-сайт и получите доступ к нему с помощью HTTPS:
- https://mydomain.com
Примечание: Если вы упаковываете приложение Spring Boot как JAR (или WAR) и запускаете его непосредственно через COMMAND, вам, возможно, не нужно ничего добавлять в application.properties, просто запустите приложение следующим образом:
java -jar mydomaintest-1.0.war --server.port=443 -Dserver.ssl.key-store=file:/home/tran/mydomain.com/mydomain_com.jks -Dserver.ssl.key-store-password=YourPassword -Dserver.ssl.key-alias=mydomain
Руководства Spring Boot
- Установите Spring Tool Suite для Eclipse
- Руководство Spring для начинающих
- Руководство Spring Boot для начинающих
- Общие свойства Spring Boot
- Руководство Spring Boot и Thymeleaf
- Руководство Spring Boot и FreeMarker
- Руководство Spring Boot и Groovy
- Руководство Spring Boot и Mustache
- Руководство Spring Boot и JSP
- Руководство Spring Boot, Apache Tiles, JSP
- Используйте Logging в Spring Boot
- Мониторинг приложений с помощью Spring Boot Actuator
- Создание веб-приложения с несколькими языками с помощью Spring Boot
- Используйте несколько ViewResolver в Spring Boot
- Используйте Twitter Bootstrap в Spring Boot
- Руководство Spring Boot Interceptor
- Руководство Spring Boot, Spring JDBC и Spring Transaction
- Руководство Spring JDBC
- Руководство Spring Boot, JPA и Spring Transaction
- Руководство Spring Boot и Spring Data JPA
- Руководство Spring Boot, Hibernate и Spring Transaction
- Интеграция Spring Boot, JPA и H2 Database
- Руководство Spring Boot и MongoDB
- Используйте несколько DataSources с Spring Boot и JPA
- Используйте несколько DataSource с Spring Boot и RoutingDataSource
- Создайте приложение для входа с Spring Boot, Spring Security, Spring JDBC
- Создайте приложение для входа с Spring Boot, Spring Security, JPA
- Создайте приложение регистрации пользователей с помощью Spring Boot, Spring Form Validation
- Пример OAuth2 Social Login в Spring Boot.
- Запускать фоновые запланированные задачи в Spring
- Пример CRUD Restful Web Service c Spring Boot
- Пример Spring Boot Restful Client c RestTemplate
- Пример CRUD с Spring Boot, REST и AngularJS
- Защита Spring Boot RESTful Service используя Basic Authentication
- Защита Spring Boot RESTful Service используя Auth0 JWT
- Пример Upload file c Spring Boot
- Пример Download file c Spring Boot
- Пример Upload file c Spring Boot и jQuery Ajax
- Пример Upload file c Spring Boot и AngularJS
- Создание веб-приложения для корзины покупок с помощью Spring Boot, Hibernate
- Руководство Spring Email
- Создайте простое приложение Chat с Spring Boot и Websocket
- Разверните приложение Spring Boot на Tomcat Server
- Развертывание приложения Spring Boot на Oracle WebLogic Server
- Установите бесплатный сертификат Let's Encrypt SSL для Spring Boot
- Настройте Spring Boot для перенаправления HTTP на HTTPS
Show More