要修复Python fastapi jinja2生成的是http链接而不是https,但是ssl正在工作的问题,可以按照以下步骤进行修复:
app.url
属性来指定生成的链接的协议。默认情况下,FastAPI将根据请求的协议自动选择生成的链接的协议。为了强制使用HTTPS协议,可以在应用程序的启动文件中添加以下代码:from fastapi import FastAPI
from starlette.middleware.httpsredirect import HTTPSRedirectMiddleware
app = FastAPI()
# 添加HTTPS重定向中间件
app.add_middleware(HTTPSRedirectMiddleware)
这将自动将所有HTTP请求重定向到HTTPS链接。
<a href="{{ url_for('some_route', _external=True, _scheme='https') }}">Link</a>
这将生成一个使用HTTPS协议的链接。
uvicorn main:app --ssl-keyfile=path/to/ssl/key.pem --ssl-certfile=path/to/ssl/cert.pem
确保将path/to/ssl/key.pem
和path/to/ssl/cert.pem
替换为实际的SSL证书和密钥文件的路径。
通过执行上述步骤,应该能够修复Python fastapi jinja2生成的是http链接而不是https,但是ssl正在工作的问题,并确保生成的链接使用HTTPS协议。
领取专属 10元无门槛券
手把手带您无忧上云