私はSpring Security
でプロジェクトを開発しています。プロダクションサーバーにプロジェクトを読み込むまではすべてうまくいっていました。私は自分のローカルマシンにhttpを持っていますが、プロダクションサーバーにはhttpsがあります。httpsをHTTPにリダイレクトするSpringを停止できません
そして、私はエラー(ログインエラーの場合)直面している:私はこの問題についての私のベンダーを尋ねたが、彼らが言う
Mixed Content: The page at 'https://my.production.com/login' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://my.production.com/authorities'. This request has been blocked; the content must be served over HTTPS.
:
Mixed Content: The page at 'https://my.production.com/login' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://my.production.com/api/login?error=bad-credentials'. This request has been blocked; the content must be served over HTTPS.
と(成功ログインの場合)を"あなたのアプリとnginxの間にhttpsがないので、これはあなたのアプリの問題です" ...
私はthisを試しましたが、この解決策非常に奇妙に見え、問題を解決しません(多くの構成クラスを追加する必要があります。実は、私はどのようにこれが発生する可能性が非常に混乱している、なぜそれが要求が行われたスキーマにリダイレクトするように、デフォルトの動作ではありません...
はまた、私は私の春のセキュリティの設定にこれを追加してみました:
.and().requiresChannel().anyRequest().requiresSecure()
が、これは私のローカルマシン上と運用サーバー上ERR_TOO_MANY_REDIRECTS
を起こし...
これはあまりにも助けにはならなかった。
http.portMapper()
.http(8080).mapsTo(8443);
私はありません春のブートを使用しても、this、助けてみました。
成功の認証設定は次のようになります。
SavedRequestAwareAuthenticationSuccessHandler successHandler = new
SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setDefaultTargetUrl(env.getProperty("app.authenticationSuccessUrl"));
、あなたのWebアプリケーションでは「http」をハードコードしていない限り、これは、誤って構成本番サーバーに可能性があります。 nginxはプロキシとして働いていますか?Tomcatのようなものですか? – holmis83
@ holmis83はい、nginxとtomcatがありますので、ベンダーにこの問題の修正について質問する必要がありますか? – Daria