私のASP.NET Core 1.0アプリケーションでは、自分のログイン画面を提供するためにCookieミドルウェアを使用しています。 https://docs.asp.net/en/latest/security/authentication/cookie.htmlASP.NETコア認証ポート番号
Startup.cs
...
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = "MyCookieMiddlewareInstance",
LoginPath = new PathString("/Config/Login"),
AutomaticAuthenticate = true,
AutomaticChallenge = true,
});
...
私のプロジェクトが今終了し、私はLinux環境にそれを公開している:私は、ASP.NETのコアのドキュメントを追いました。私はASP.NETアプリケーションに要求を転送するためにリバースプロキシとしてNginxを設定しました。 私の設定では、ポート5000の受信トラフィックが、自分のWebアプリケーションがリッスンしている現在のポートに転送されます。
の/ etc/nginxの/サイト利用可能/デフォルト
server {
listen 5000;
location/{
proxy_pass http://localhost:4007;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
すべてはそれが必要として動作します。許可されていないページにアクセスしようとすると、アプリケーションの設定済みの認証オプションによってページがログインページに転送されます。残念ながら、それはURLからポート番号を削除します。手動でポート番号を追加すると、それが機能します。
http:// 'ip-server':5000/Configを要求すると、アプリケーションはhttp:// 'ip-server':5000/Config/Loginにリダイレクトする必要がありますか?ReturnUrl =%2FConfigログインしていません。代わりに、http:// 'ip-server'/Config/Login?ReturnUrl =%2FConfigに私をリダイレクトします。これにより、存在しないページにリダイレクトされます。
URLにポート番号を保持するように変更するにはどうすればよいですか(Nginxのアプリケーションでは?)私はまだインターネット上で何も見つけていない。