在本地主机上运行的API的自定义端口号



我有我的API,它在本地主机的8000端口下运行。然而,我只想知道在我想要的任何端口(比如1200端口、5000端口等(上运行我的API是否可以。或者是否有任何特定的端口,只有我可以从中选择一个来运行我的API。我是这个网络开发的新手,因此这个基本问题。

是的,没关系!只需确保远离MySQL(3306(等常见端口。

一般来说,5000是我见过的最多的。NET开发人员使用。有很多方法可以做到这一点!

通过启动设置:

{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:63902",
"sslPort": 44305
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Brevity.Api": {
"commandName": "Project",
"launchBrowser": false,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

或通过Program.cs

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>
{
options.AddServerHeader = false;
// options.Listen(IPAddress.Any, 8080);         // http:*:80
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var isDevelopment = environment == Environments.Development;
var validateSSL = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("SSLCERT_PATH"));
// HTTPS Configuration
if (!System.Diagnostics.Debugger.IsAttached && !isDevelopment && validateSSL)
{
var hasHttpsPortConfigured = int.TryParse(Environment.GetEnvironmentVariable("HTTPS_PORT")
, out var httpsPort);
if (!hasHttpsPortConfigured)
{
httpsPort = 5001; // Default port
Console.WriteLine("HTTPS port not configured! Self configuring to 5001.");
}
var certPath = Environment.GetEnvironmentVariable("SSLCERT_PATH");
var certPassword = Environment.GetEnvironmentVariable("SSLCERT_PASSWORD");
options.Listen(IPAddress.Any, httpsPort, listenOptions =>
{
var cert = new X509Certificate2(certPath, certPassword);
listenOptions.UseHttps(cert);
});
}
});
}

很高兴你在用。NET核心。我们才刚刚开始成为学习编程的最佳语言之一!

最新更新