注:私はこの質問に報奨金を出しました。同様のBUT SIMPLER質問については、まだ報奨金を出すことができませんでした。この簡単な質問を手伝っていただければ結構です。そうすれば、この質問にも答えを出すことができます。より単純な質問では、シナリオを自分で非常に迅速に作成できます。また、Jetty 9.1.0 もダウンロードしました。つまり、9.05 または 9.10 で動作するかどうかは気にしません。どちらのバージョンでも問題ありません。
「チャネルセキュリティ」機能を取得するために、つまりどのコントローラーアクションがssl接続を必要とするかを示すために、Spring Security Coreをインストールしました。
これは、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'
]
これをデバッグする方法がわかりません。spring-security コアで定義されたチャネルなしで機能することを確認するためだけに https/ssl を必要とする私の jetty 9 サーバーのページに移動したいのですが、それが何であるかわかりません。
これをデバッグする方法、または何が問題なのかについてヘルプを提供できますか?
ありがとう。
この質問は、私が作成して報奨金を提供した簡略化された質問に対する同様の回答です。他の質問の報奨金が授与されたので、この質問を削除できます。しかし、それを削除したり削除したりできないので...