0

注意:我在这个问题上悬赏。我还不能在一个类似但更简单的问题上悬赏,在这里。如果您可以帮助解决这个更简单的问题,那很好,然后我们也可以将答案放在这个问题上。在更简单的问题中,您可以很快自己创建场景。而且我还下载了 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 证书并安装它以下几行并指向我的 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'
]

我不确定如何调试它。我想访问需要 https/ssl 的 jetty 9 服务器上的某个页面,以确保它在没有 spring-security 核心定义的通道的情况下工作,但不知道那是什么。

您能否提供有关如何调试此问题或出了什么问题的帮助?

谢谢。


这个问题与我创建并提供赏金的简化问题的答案类似。现在已授予另一个问题的赏金,我可以删除此问题。但是,它不允许我删除或删除它,所以...

4

1 回答 1

0

在我看来,Jetty 正在将要登录(经过身份验证)的匿名请求重定向到某个登录屏幕。是否存在登录屏幕?

于 2013-10-09T02:57:52.080 回答