В настоящее время я настраиваю SSL на Glassfish, и у меня возникают проблемы с подключением к серверу.
http://javadude.wordpress.com/2010/04/06/getting-started-with-glassfish-v3-and-ssl/
Я следовал этому руководству, чтобы настроить сертификаты, которые, казалось, работали отлично, но я не мог заставить Glassfish указывать на сертификаты. После некоторого дополнительного исследования я нашел другое руководство, в котором говорилось, что помимо внесенных мною изменений мне также пришлось изменить все экземпляры 's1as' в domain.xml на псевдоним, который я дал своему сертификату. В конце концов, после некоторой игры я изменил следующее, чтобы указать на мое хранилище ключей
-Djavax.net.ssl.keyStore = $ {com.sun.aas.instanceRoot} /config/keystore.jks
Это частично сработало. Я могу успешно подключиться первые несколько раз, когда пытаюсь, а затем каждая последующая попытка приводит к тайм-ауту браузера.
Есть ли какая-то настройка, которую я пропустил, или что-то, что всем видно, я сделал неправильно?
Чтобы настроить SSL при новой установке Glassfish 3.1
У меня было множество проблем с 3.0.1, поэтому я бы рекомендовал перейти на 3.1.
Следуя инструкциям по ссылке выше, это успешно создает хранилище ключей и сертификаты.
Изменить главный пароль
Главный пароль, установленный на Glassfish, также является паролем, который позволяет получить доступ к хранилищу сертификатов SSL. Пароль по умолчанию для Glassfish 3.1 - «changeit», у Glassfish 3.0.1 нет основного пароля по умолчанию. Чтобы изменить главный пароль, откройте командную строку и введите
cd C:\glassfish3\bin
asadmin change-master-password
Вам будет предложено ввести пароль по умолчанию, а затем будет предложено ввести новый пароль, который должен быть установлен таким, как вы установили пароль хранилища сертификатов.
Установить сертификат
скопируйте файл server.keystore в C:\glassfish3\glassfish\domains\domain1\config\
В C:\glassfish3\glassfish\domains\domain1\config
откройте документ domain.xml и найдите все экземпляры фразы s1as
и замените их псевдонимом, который вы дали своим сертификатам. Должно быть примерно 22 изменения. В том же документе замените все экземпляры keystore.jks
к server.keystore
, это имя нового хранилища ключей, созданного в приведенных выше инструкциях javadude. Должно быть 2 изменения.
Настройка Glassfish для SSL
Запустите сервер Glassfish, выбрав Пуск -> Все программы -> Веб-профиль версии сервера с открытым исходным кодом Glassfish -> Запустить сервер приложений. Это откроет окно cmd, свернутое в нижней части экрана. Увеличьте это значение и введите мастер-пароль Glassfish. Откройте веб-браузер и введите URL-адрес http://localhost:4848
для доступа к консоли администрирования. Перейдите в Configurations -> Server config -> Network config -> Network listeners -> Http-listener-2. Измените порт на 443 и убедитесь, что установлен флажок Включить безопасность. Нажмите "Сохранить". На вкладке SSL установите флажок SSL3 и TLS, измените псевдоним сертификата на псевдоним, который вы установили на предыдущем шаге (если он еще не установлен автоматически), и нажмите «Сохранить».
Если вы используете GF как службу Windows, вам необходимо сохранить мастер-пароль, используя следующую команду:
asadmin change-master-password --savemasterpassword true
В противном случае служба Windows не запустится снова.