ПРИМЕЧАНИЕ. Я поставил щедрость на этот вопрос. Я еще не смог поставить щедрость на аналогичный вопрос BUT SIMPLER, here. Это нормально, если вы можете помочь с этим более простым вопросом, и тогда мы также можем ответить на этот вопрос. В более простом вопросе вы можете сами создать сценарий самостоятельно. И я также загрузил Jetty 9.1.0 - так что мне все равно, если он работает с 9.05 или 9.10, любая версия в порядке.grails: получить переадресацию при развертывании на сервер Jetty, но отлично работает, используя Jetty в режиме разработки
Я установил Spring Security Core, чтобы получить функцию «защита канала», а именно указать, какие действия контроллера требуют подключения ssl.
Это прекрасно работает в режиме разработки с использованием сервера Jetty - например,/cert/page1, он просит одобрить соединение https, как ожидалось.
Когда я разворачиваю (продюсирую) WAR-файл на сервер Jetty 9 (размещенный извне), я получаю индикацию цикла переадресации, когда я перехожу к тому же контроллеру/действию (используя Chrome), или затем в Firefox он также указывает " страница не перенаправляется должным образом ». Я очистил файлы cookie в Chrome на всякий случай и эту проблему.
Я создал сертификат SSL для сервера Jetty 9, следуя инструкциям (используя внешнее агентство сертификации), и чтобы установить его, я просмотрел различные статьи ssl на Jetty, а затем обнаружил, что проще всего изменить файл start.ini, который Я сделал, раскомментируйте следующие строки и указывая на мой sslcert/хранилище ключей:
#===========================================================
# SSL Context
# Create the keystore and trust store for use by
# HTTPS and SPDY
#-----------------------------------------------------------
jetty.keystore=sslcert/keystore
jetty.keystore.password=xxxxx
jetty.keymanager.password=xxxxx
jetty.truststore=sslcert/keystore
jetty.truststore.password=xxxxx
jetty.secure.port=8443
etc/jetty-ssl.xml
#===========================================================
# HTTPS Connector
# Must be used with jetty-ssl.xml
#-----------------------------------------------------------
jetty.https.port=8443
etc/jetty-https.xml
есть ли вообще способ, которым я могу сказать, если Jetty примет любой запрос HTTPS страницы? В это журнал, кажется, придумать хорошо от того, что я сделал, а именно:
2013-10-04 20:48:43.520:INFO:oejs.ServerConnector:main: Started [email protected]{HTTP/1.1}{0.0.0.0:80}
2013-10-04 20:48:43.692:INFO:oejs.ServerConnector:main: Started [email protected]{SSL-http/1.1}{0.0.0.0:8443}
Кроме того, для моего Config.groovy определения безопасных каналов у меня есть:
grails.plugins.springsecurity.secureChannel.definition = [
'/cert/cpnimember': 'REQUIRES_INSECURE_CHANNEL',
'/cert/page1': 'REQUIRES_SECURE_CHANNEL',
'/cert/page2': 'REQUIRES_SECURE_CHANNEL',
'/cert/page3': 'REQUIRES_SECURE_CHANNEL',
'/cert/page4': 'REQUIRES_INSECURE_CHANNEL'
]
Я не уверен, как отладить это. Я хотел бы перейти на какую-то страницу на моем сервере причала 9, для чего требуется https/ssl, чтобы убедиться, что он работает без определенных ядром, связанных с весной, но не знаю, что это такое.
Можете ли вы предоставить помощь в том, как отлаживать это или что не так?
Спасибо.
is etc/jetty-https.xml правильный? или предполагается /etc/etty-https.xml? – Vinny
Все, что я делал, раскололи строки в файле, не изменили путь, но я могу попробовать его с помощью ведущего «/» и сообщим вам, работает ли он, благодаря этой идее. – Ray
.. нет, это должен быть относительный путь, так делается по всему этому файлу. – Ray