Skip to content

Commit 133759f

Browse files
committed
feat: config-server support https
1 parent ea201f4 commit 133759f

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ jdbc:mysql:lb:local://10.189.0.1:6000,10.189.0.2:6000,10.189.0.3:6000/mydatabase
5757
jdbc:mysql:lb:remote://config-server.xxx.com:8080/mydatabase?connectTimeout=5000&socketTimeout=10000&configServerApiKey=xxx&configServerSchema=im_user&logStats=true
5858
```
5959

60-
* `config-server.xxx.com:8080` 表示config-server的地址,需要host:port的格式,必填
60+
* `config-server.xxx.com:8080` 表示config-server的地址,需要host:port的格式,如果是443端口,则走https,否则,走http,必填
6161
* `configServerApiKey` 表示config-server的鉴权key,可选,取决于config-server是否开启了鉴权
6262
* `configServerSchema` 表示config-server的schema,必填
63-
* `configServerTimeout` 表示访问config-server的超时,单位毫秒,默认5000
63+
* `configServerTimeout` 表示访问config-server的超时,单位毫秒,可选,默认5000
6464
* `logStats` 表示是否打印统计日志,可选,默认false
6565
* `checkBalanceIntervalSeconds` 负载均衡定时任务的间隔,可选,默认10s
6666
* `checkHealthIntervalSeconds` 健康检查定时任务的间隔,可选,默认5s

lb-driver/src/main/java/com/netease/nim/lbd/RemoteSqlProxyProvider.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,14 @@ private FetchResponse fetchSqlProxyList() {
135135
builder.addParam("md5", md5);
136136
}
137137
builder.addParam("schema", lbDriverUrl.getConfigServerSchema());
138-
String fullUrl = "http://" + lbDriverUrl.getConfigServerHost() + ":" + lbDriverUrl.getConfigServerPort() + "/fetch_sql_proxy_list?" + builder.build();
138+
String requestParams = builder.build();
139+
140+
String fullUrl;
141+
if (lbDriverUrl.getConfigServerPort() == 443) {
142+
fullUrl = "https://" + lbDriverUrl.getConfigServerHost() + ":" + lbDriverUrl.getConfigServerPort() + "/fetch_sql_proxy_list?" + requestParams;
143+
} else {
144+
fullUrl = "http://" + lbDriverUrl.getConfigServerHost() + ":" + lbDriverUrl.getConfigServerPort() + "/fetch_sql_proxy_list?" + requestParams;
145+
}
139146

140147
HttpURLConnection conn = null;
141148
try {
@@ -187,8 +194,12 @@ private FetchResponse fetchSqlProxyList() {
187194
lbDriverUrl.getConfigServerHost() + ":" + lbDriverUrl.getConfigServerPort(), lbDriverUrl.getConfigServerSchema(), e);
188195
return null;
189196
} finally {
190-
if (conn != null) {
191-
conn.disconnect();
197+
try {
198+
if (conn != null) {
199+
conn.disconnect();
200+
}
201+
} catch (Exception e) {
202+
logger.error("http connection disconnect error", e);
192203
}
193204
}
194205
}

0 commit comments

Comments
 (0)