fix: 多域名部署BASEURL问题 - 配置优先+自动兜底
- processorResource: 改用 _LAST_BASEURL 记录最近请求域名(每次更新) - filestorage.get_baseurl: BASEURL(显式配置)优先于 _LAST_BASEURL(自动推导) - 多域名部署时运维设 BASEURL=主域名,单域名场景自动生效无需配置
This commit is contained in:
parent
815803f310
commit
52a55dcbee
@ -218,7 +218,8 @@ async def downloadfile2url(request, url, headers=None, params=None, data={}, met
|
||||
return f'/idfile?path={quote(webpath)}'
|
||||
|
||||
def get_baseurl():
|
||||
baseurl = os.environ.get('BASEURL')
|
||||
# 优先级:BASEURL(显式配置,多域名部署用) > _LAST_BASEURL(自动推导,单域名场景)
|
||||
baseurl = os.environ.get('BASEURL') or os.environ.get('_LAST_BASEURL')
|
||||
return baseurl
|
||||
|
||||
async def base642file(b64str):
|
||||
|
||||
@ -198,7 +198,9 @@ class ProcessorResource(StaticResource,Url2File):
|
||||
portp = ''
|
||||
self._preurl = f'{self._scheme}://{self._host}{portp}{self._prepath}'
|
||||
request['base_url'] = self._preurl
|
||||
os.environ.setdefault('BASEURL', self._preurl)
|
||||
# 记录最近一次请求的 base URL,供无 request 上下文的代码兜底使用
|
||||
# 多域名部署时应通过 BASEURL 环境变量显式指定主域名
|
||||
os.environ['_LAST_BASEURL'] = self._preurl
|
||||
# print(f'{request.path=}, {self._preurl=}')
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user