Мне нужно обслуживать определенный веб-сервис CXF по HTTPS (у меня есть несколько других, которые должны работать по обычному HTTP). В SecurityConfig.groovy
я установил:
httpsPort = 8443
и попробовал оба
secureChannelDefinitionSource = '''
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/services/doodah/**=REQUIRES_SECURE_CHANNEL
/**=REQUIRES_INSECURE_CHANNEL
'''
и
channelConfig = [ secure: ['/services/productid/**'], insecure: '/' ]
Служба перестает отвечать на протокол http на 8080, но, по-видимому, не работает по протоколу https: 8443 - по крайней мере, соединение telnet с 8443 не удается.
Если я запускаю приложение с grails run-app -https
, все приложение работает через https.
Чтобы отделить http от сервисов https, мне, вероятно, понадобится сделать следующее: " Автоматическое переключение http / httpS с Grails ", но сейчас я бы хотел, чтобы по крайней мере различные службы работали на два разных порта.
Какие шаги нужно выполнить, чтобы одна служба работала по HTTPS только ?
Похоже, что на войне нужно что-то еще для работы SSL, как в этом вопросе: SSL, Tomcat и Grails ?
Моя среда: Grails 1.3.5, acegi-security 0.5.3 (я знаю, что она устарела), Tomcat 6.