import logging
from fastapi import FastAPI, HTTPException
from titiler.core.factory import TilerFactory
from starlette.middleware.cors import CORSMiddleware
app = FastAPI(description="COG Server")
# 设置日志记录
logging.basicConfig(level=logging.DEBUG)
# 允许跨域请求
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # 允许所有来源的请求
allow_methods=["*"], # 允许所有 HTTP 方法
allow_headers=["*"], # 允许所有请求头
)
try:
# 初始化 TilerFactory
cog = TilerFactory()
# 包含 COG 路由,并指定前缀
app.include_router(cog.router, prefix="/cog")
except Exception as e:
logging.error(f"Error initializing TilerFactory: {e}")
raise HTTPException(status_code=500, detail="Internal Server Error")
# 启动应用
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)


用titiler发布cog服务,启动不会报错,但是发布服务后无法访问,可能是什么原因造成的