Я хочу реализовать SSL в Grails. Я не могу найти файл /conf/server.xml в структуре папок Grails. Кто-либо реализовал его?
Любая справка очень ценится.
Как это настроить, зависит от того, как вы развертываете свое приложение grails.
Если вы развертываете в контейнере, таком как tomcat, установите и настройте SSL как обычно. Затем просто создайте war-файл с помощью 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-запросы непосредственно на порт по умолчанию. Затем бросьте ваш war-файл в папку webapps.
Для встроенного сервера разработки (jetty) импортируйте ваш сертификат в keystore с помощью keytool и поместите его в рабочий каталог grails в папку ssl/keystore. Это будет выглядеть примерно так: $HOME/.grails/1.2.1/ssl/keystore. Пароль keystore должен быть "123456". Затем запустите grails командой grails run-app --https
. Grails создаст файл keystore, если он не существует, но не перезапишет его, если вы замените его своим собственным.
Вы можете запустить grails run-app -https
вместо grails run-app
, и он создаст для вас самоподписанный сертификат и будет работать в SSL.