增加remote_address和server_ip

This commit is contained in:
mark.tian
2025-12-02 18:31:51 +08:00
parent 9cb45204c9
commit 49afdc9692
3 changed files with 57 additions and 0 deletions

View File

@@ -14,6 +14,8 @@ class CallbackLog(Base):
id = Column(Integer, primary_key=True, autoincrement=True)
site_id = Column(String(100), nullable=False, comment="站点ID") # 新增siteId字段
remote_address = Column(String(45), nullable=True, comment="客户端IP地址")
server_ip = Column(String(45), nullable=True, comment="服务器IP地址")
request_url = Column(String(500), nullable=False)
request_headers = Column(JSON, nullable=False)
request_body = Column(JSON, nullable=False)

View File

@@ -19,8 +19,19 @@ async def log_callback_request(
callback_data: CallbackRequest
):
"""记录回调请求到数据库"""
# 获取客户端IP地址
client_ip = request.client.host if request.client else None
# 获取服务器IP地址
server_ip = None
if hasattr(request, 'scope') and 'server' in request.scope:
server_host, server_port = request.scope['server']
server_ip = server_host
callback_log = CallbackLog(
site_id=site_id, # 记录siteId
remote_address=client_ip,
server_ip=server_ip,
request_url=str(request.url),
request_headers=dict(request.headers),
request_body=callback_data.model_dump()