|
|
|
@ -260,26 +260,31 @@ async def main_api(): |
|
|
|
ssl_context = None |
|
|
|
|
|
|
|
# 检查证书文件是否存在 |
|
|
|
ssl_cert = "server.crt" |
|
|
|
ssl_key = "server.key" |
|
|
|
|
|
|
|
if os.path.exists(ssl_cert) and os.path.exists(ssl_key): |
|
|
|
try: |
|
|
|
# 创建SSL上下文 |
|
|
|
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) |
|
|
|
# 加载证书链 |
|
|
|
ssl_context.load_cert_chain(ssl_cert, ssl_key) |
|
|
|
# 禁用主机名验证(对于自签名证书) |
|
|
|
ssl_context.check_hostname = False |
|
|
|
ssl_context.verify_mode = ssl.CERT_NONE |
|
|
|
print("SSL证书已加载,使用WSS协议") |
|
|
|
except Exception as e: |
|
|
|
print(f"SSL证书加载失败: {e}") |
|
|
|
print("将使用WS协议") |
|
|
|
ssl_context = None |
|
|
|
else: |
|
|
|
print("警告:SSL证书文件未找到,将使用WS协议") |
|
|
|
ssl_context = None |
|
|
|
ssl_cert = "yizherenxin.cn.crt" |
|
|
|
ssl_key = "yizherenxin.cn.key" |
|
|
|
|
|
|
|
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) |
|
|
|
ssl_context.load_cert_chain(ssl_cert, ssl_key) |
|
|
|
ssl_context.check_hostname = False # 必须禁用主机名验证 |
|
|
|
ssl_context.verify_mode = ssl.CERT_NONE # 不验证证书 |
|
|
|
|
|
|
|
# if os.path.exists(ssl_cert) and os.path.exists(ssl_key): |
|
|
|
# try: |
|
|
|
# # 创建SSL上下文 |
|
|
|
# ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) |
|
|
|
# # 加载证书链 |
|
|
|
# ssl_context.load_cert_chain(ssl_cert, ssl_key) |
|
|
|
# # 禁用主机名验证(对于自签名证书) |
|
|
|
# ssl_context.check_hostname = False |
|
|
|
# ssl_context.verify_mode = ssl.CERT_NONE |
|
|
|
# print("SSL证书已加载,使用WSS协议") |
|
|
|
# except Exception as e: |
|
|
|
# print(f"SSL证书加载失败: {e}") |
|
|
|
# print("将使用WS协议") |
|
|
|
# ssl_context = None |
|
|
|
# else: |
|
|
|
# print("警告:SSL证书文件未找到,将使用WS协议") |
|
|
|
# ssl_context = None |
|
|
|
|
|
|
|
# 创建服务器 |
|
|
|
server = await websockets.serve( |
|
|
|
@ -318,6 +323,3 @@ if __name__ == "__main__": |
|
|
|
print("服务器被用户中断") |
|
|
|
except Exception as e: |
|
|
|
print(f"服务器运行错误: {e}") |
|
|
|
import traceback |
|
|
|
|
|
|
|
traceback.print_exc() |
|
|
|
|