注意:我对此问题表示赏心悦目。我无法在类似的BUT SIMPLER问题上提出赏金,here。如果你可以帮助解决这个更简单的问题,那很好,然后我们也可以在这个问题上给出答案。在更简单的问题中,您可以很快自己创建场景。我还下载了Jetty 9.1.0 - 所以我不在乎它是否适用于9.05或9.10,两种版本都可以。
我安装了Spring Security Core以获得“通道安全性”功能,即指示哪些控制器操作需要ssl连接。
这在使用Jetty服务器的开发模式下工作正常 - 例如/ cert / page1在底部定义,它要求按预期批准https连接。
当我将(生产)WAR文件部署到Jetty 9服务器(外部托管)时,当我转到相同的控制器/操作(使用Chrome)时,我得到一个重定向循环指示,或者在Firefox上它也指示“页面”没有正确重定向“。我清除Chrome中的cookie以防万一,同样的问题。
我按照指示(使用外部证书代理机构)为Jetty 9服务器创建了SSL证书并安装它我在Jetty上查看了各种ssl文章,然后发现改变start.ini文件似乎最简单,我做了,取消注释以下行并指向我的sslcert / keystore:
#===========================================================
# 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 ServerConnector@73c87405{HTTP/1.1}{0.0.0.0:80}
2013-10-04 20:48:43.692:INFO:oejs.ServerConnector:main: Started ServerConnector@4194f034{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'
]
我不确定如何调试它。我想在我的jetty 9服务器上找一些需要https / ssl的页面,以确保它没有弹簧安全核心定义的通道,但不知道那是什么。
您能提供有关如何调试此错误或出错的帮助吗?
感谢。
这个问题与我创建的simplified question类似,并提供了赏金。既然已经授予了另一个问题的赏金,我可以删除这个问题。但是,它不允许我删除或删除它,所以......
答案 0 :(得分:0)
在我看来,Jetty正在重定向匿名请求以登录(经过身份验证)到某个登录屏幕。是否存在登录屏幕?