Ответ 1
Вы можете запустить grails run-app -https
вместо grails run-app
, и он создаст для вас самозаверяющий сертификат и запустится в SSL.
Я хочу реализовать SSL в Grails. Я не могу найти файл /conf/server.xml в структуре папок Grails. Кто-нибудь его реализовал?
Любая помощь очень ценится.
Вы можете запустить grails run-app -https
вместо grails run-app
, и он создаст для вас самозаверяющий сертификат и запустится в SSL.
Как настроить это зависит от того, как вы развертываете приложение grails.
Если вы развертываете контейнер, например tomcat, установите и настройте SSL, как обычно. Затем просто создайте военный файл с grails war
и разверните его нормально. Для tomcat, в частности, откройте верхний уровень tomcat server.xml и добавьте SSL-коннектор, например:
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
SSLEngine="on"
SSLCertificateFile="/path/to/cert.pem"
SSLCertificateKeyFile="/path/to/key.pem"
SSLPassword="passphrase"
/>
Отрегулируйте порт разъема на 443, чтобы принимать запросы SSL непосредственно на порт по умолчанию. Затем распакуйте файл войны в папку webapps.
Для встроенного сервера разработки (причал) импортируйте свой сертификат в хранилище ключей с помощью keytool и поместите его в рабочий каталог grails в ssl/keystore. Это будет выглядеть примерно так: $HOME/.grails/1.2.1/ssl/keystore. Пароль ключа должен быть "123456". Затем запустите grails с помощью grails run-app --https
. Grails создаст файл хранилища ключей, если он не существует, но не будет перезаписывать его, если вы замените его своим собственным.