問題:
描述:ABP使用Nginx代理導(dǎo)致租戶ID(Abp.TenantId)丟失舵抹,自定義header無效無法傳遞,導(dǎo)致租戶選擇認(rèn)證失敗鉴分。原因是因?yàn)?Nginx 過濾是“.”這符號(hào)哮幢。
解決:
1,先從代碼人手志珍,在代碼前端所有地方:Abp.TenantId 的地方橙垢,添加 :'Abp-TenantId': abp.multiTenancy.getTenantIdCookie(),為什么是添加而不是修改呢?因?yàn)橐嫒?不用代理的情況伦糯。
2柜某,在反向代理配置里面添加一段代碼:proxy_set_header Abp.TenantId $http_abp_tenantid;
問題描述:數(shù)據(jù)庫遷移問題,開發(fā)環(huán)境直接運(yùn)行命令遷移敛纲,可是生產(chǎn)環(huán)境就不太方便運(yùn)行命令喂击,特別是如果使用jenkins+docker部署的話如果在手動(dòng)就感覺不方便。
解決辦法:在Web.MVC或Host的啟動(dòng)模塊里面的初始化里面添一行代碼:scope.Resolve<AbpZeroDbMigrator>().CreateOrMigrateForHost(SeedHelper.SeedHostDb);
這意思就是每次應(yīng)用服務(wù)啟動(dòng)的時(shí)候去檢查遷移一下數(shù)據(jù)庫淤翔,類似于同于執(zhí)行:Update-Migrator翰绊,這樣的話我們就不需要擔(dān)心正式環(huán)境下數(shù)據(jù)結(jié)構(gòu)不同步的問題了,不過這里要注意的是旁壮,如果遷移問題生成的時(shí)候有問題辞做,可能導(dǎo)致數(shù)據(jù)丟失,所以每次發(fā)布的時(shí)候要檢查遷移文件寡具。
樣例: