使用nginx進行部署,下載地址:https://nginx.org/en/download.html
.NET Core 3.1,下載地址:https://dotnet.microsoft.com/download/dotnet-core
部署環境安排,可以是linux中的centos或者Ubuntu,我准備了win2012 r2(建議用win2016,2012需要打補丁支持.NET Core),方便不懂運維的同事可以操作(哈哈)
.NET Core 案例項目如下:本地運行后訪問http://localhost:4000/api/user/auth/login 測試用get,發布走post
[Area("user")] [Route("api/[area]/[controller]")] [ApiController] public class AuthController : ControllerBase { private IUserService _userService; public AuthController(IUserService userService) { _userService = userService; } [HttpPost("login")] //[HttpGet("login")] public IActionResult Login(string username, string password) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes("aaaaaabbbbbbcccc"); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new[] { new Claim("id", "1") }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); string tokenStr = tokenHandler.WriteToken(token); return Ok(new { access_token= tokenStr, token_type ="bearer", expires_in=7*60 }); //return Ok(token); } }
Vue案例項目:Vuetify做UI組件,其他是全家桶
使用nginx進行部署:內部對/api下的請求做代理,讓他去訪問WebApi,80給Vue部署前台,這是最簡單配置,如果你對頭信息有要求可以在把頭信息加上
兩個都跑起來,這邊WebApi自宿主,就不在安裝IIS了,前台的請求到了內部就轉發了,