Prechádzať zdrojové kódy

fix(backend): 强制出站HTTPS使用TLSv1.2 - 规避微信边缘终止TLSv1.3握手导致code2Session偶发失败

Xiaogang Liao 3 týždňov pred
rodič
commit
3e75d9feb6
2 zmenil súbory, kde vykonal 4 pridanie a 1 odobranie
  1. 2 0
      cfc-backend/start.sh
  2. 2 1
      cfc-backend/startup.sh

+ 2 - 0
cfc-backend/start.sh

@@ -52,6 +52,8 @@ JAVA_OPTS="
     -XX:+HeapDumpOnOutOfMemoryError
     -XX:HeapDumpPath=/tmp/cfc-heapdump.hprof
     -Dfile.encoding=UTF-8
+    -Dhttps.protocols=TLSv1.2
+    -Djdk.tls.client.protocols=TLSv1.2
     -Dspring.profiles.active=${ENV}
     -Dspring.datasource.url=\"${DB_URL}\"
     -Dspring.datasource.username=${DB_USER}

+ 2 - 1
cfc-backend/startup.sh

@@ -58,7 +58,8 @@ echo "========================================"
 # spring.config.location 末尾的 / 非常重要:表示作为目录搜索,
 # Spring Boot 会同时加载 application.yml 和 application-{profile}.yml。
 # 外部文件覆盖 JAR 内置文件,相同属性以外部文件为准。
-exec java -jar "$JAR_FILE" \
+# TLS: 强制出站 HTTPS 使用 TLSv1.2 —— Tencent 微信/支付边缘会终止 TLSv1.3 握手(Remote host terminated the handshake)
+exec java -Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -jar "$JAR_FILE" \
     --spring.profiles.active="$PROFILE" \
     --spring.config.location="$CONFIG_DIR/" \
     >> "$LOG_FILE" 2>&1