C#、asp.net 5、mvc 6アプリをWindows 2008サーバーに展開しました。 dnx web
を起動しましたが、ポート5000をリッスンしており、ローカルコンピューターからアクセスすると正常に動作します。
ローカルホスト以外のリクエストをリッスンするにはどうすればよいですか?
追伸これは question はこれの複製ではありません... hosting.iniが実際に.ini形式である場合、RC1以前のasp.netを指します。今、それはJSONであり、実際にその中にあるべきものに関するドキュメントを見つけることができません。
P.P.S.実際の解決策は、リンクされた質問の受け入れられない answer にあり、大きな警告があります。手順:
dnx web
を実行します-失敗しますdnu restore
を実行しますRC2では、project.jsonのコマンドセクションは使用されなくなりました。まだhosting.jsonを取得するためにKestrelを取得していませんが、新しいWebHostBuilderが作成および設定されるアプリケーションのMainでプログラムでポートを設定できます。以下のサンプルのように.UseUrls()メソッドを追加するだけです
public static void Main(string[] args)
{
var Host = new WebHostBuilder()
.UseUrls("http://0.0.0.0:5000/")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
Host.Run();
}
ドッカーコンテナー内にASP.NET Coreアプリケーションを配置しようとしている場合(これは、localhost以外のアドレスをリッスンする必要があるための私のユースケースでした)、このユースケースはMicrosoftによって既に用意されていることに注意してください。完全な栄光は https://hub.docker.com/r/Microsoft/aspnetcore/ で見ることができます
現在(v1.0.1)では、この問題を解決するための重要な魔法は、ソースDockerfileにurl環境変数設定が含まれており、アプリケーションがこれをオーバーライドしようとしないことです。 (実際、コンテナ化されたアプリケーションは、実行される環境について内部的に可能な限り主張するべきではありません。)
ENV ASPNETCORE_URLS http://+:80
アスタリスクではなくプラス記号に注意してください。リンクが良好である限り、答えを読むよりも上のdockerhubリンクにアクセスすることをお勧めします。バージョン1.1は間近に迫っていて、将来は再び変わるかもしれません。
コンテナを実行するときは、環境変数設定ごとにゲストポート80を公開するようにしてください。例えば:
docker run -d -p 8000:80 myapp
curl localhost:8000
Asp.net core 2.1+を使用している場合、appsettings.jsonのconfigセクションを変更します。
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://0.0.0.0:5002"
}
}
}、