在 fastapi 中将服务器名称替换为响应 header 中的假服务器名称
Replace server name with fake server name in response header in fastapi
我正在使用 uvicorn 作为 运行 应用程序的服务器,使用快速 api。在 Swagger 中执行端点 url 时,服务器响应的响应 header 中显示以下消息。
content-length: 122
content-type: application/json
date: Sat12 Dec 2020 10:18:55 GMT
server: uvicorn
如何将服务器名称更改为新名称作为服务器:firstproject?
以下代码将服务器名称 unciorn 与新名称连接起来
@app.middleware("http")
async def add_custom_header(request, call_next):
response = await call_next(request)
response.headers['server'] = 'firstproject'
return response
这给出了以下输出
content-length: 122
content-type: application/json
date: Sat12 Dec 2020 10:19:33 GMT
server: uvicornfirstproject
如何将服务器名称更改为 server : firstproject 作为响应 header?
编辑
在start_server.py
import uvicorn
from app.main import app
if __name__ == "__main__":
uvicorn.run("start_server:app --header server:firstproject", host="0.0.0.0", port=8000, reload=True)
给出以下错误
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process [15256] using statreload
ERROR: Error loading ASGI app. Attribute "app --header server:firstproject" not found in module "start_server".
我 运行 来自 Visual studio
的代码
您可以在 运行宁 uvicorn 时设置自定义 header。
--header TEXT
Specify custom default HTTP response headers as a Name:Value pair
当您运行这样时,它将覆盖默认服务器名称。
uvicorn my_app:app --header server:firstproject
如果您正在从 python 文件中 运行ning uvicorn。您需要将它们作为元组传递到列表中。
if __name__ == "__main__":
uvicorn.run("my_app:app", headers=[("server", "firstproject")])
如果您需要“删除”“服务器”header,您可以使用选项 --no-server-header
uvicorn my_app:app --no-server-header
如果您是来自 python 文件的 运行 uvicorn:
if __name__ == '__main__':
uvicorn.run('my_app:app', server_header=False)
我正在使用 uvicorn 作为 运行 应用程序的服务器,使用快速 api。在 Swagger 中执行端点 url 时,服务器响应的响应 header 中显示以下消息。
content-length: 122
content-type: application/json
date: Sat12 Dec 2020 10:18:55 GMT
server: uvicorn
如何将服务器名称更改为新名称作为服务器:firstproject? 以下代码将服务器名称 unciorn 与新名称连接起来
@app.middleware("http")
async def add_custom_header(request, call_next):
response = await call_next(request)
response.headers['server'] = 'firstproject'
return response
这给出了以下输出
content-length: 122
content-type: application/json
date: Sat12 Dec 2020 10:19:33 GMT
server: uvicornfirstproject
如何将服务器名称更改为 server : firstproject 作为响应 header?
编辑
在start_server.py
import uvicorn
from app.main import app
if __name__ == "__main__":
uvicorn.run("start_server:app --header server:firstproject", host="0.0.0.0", port=8000, reload=True)
给出以下错误
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process [15256] using statreload
ERROR: Error loading ASGI app. Attribute "app --header server:firstproject" not found in module "start_server".
我 运行 来自 Visual studio
的代码您可以在 运行宁 uvicorn 时设置自定义 header。
--header TEXT
Specify custom default HTTP response headers as a Name:Value pair
当您运行这样时,它将覆盖默认服务器名称。
uvicorn my_app:app --header server:firstproject
如果您正在从 python 文件中 运行ning uvicorn。您需要将它们作为元组传递到列表中。
if __name__ == "__main__":
uvicorn.run("my_app:app", headers=[("server", "firstproject")])
如果您需要“删除”“服务器”header,您可以使用选项 --no-server-header
uvicorn my_app:app --no-server-header
如果您是来自 python 文件的 运行 uvicorn:
if __name__ == '__main__':
uvicorn.run('my_app:app', server_header=False)