sujin190
ONLINE

sujin190

🏢  南京
V2EX 第 36127 号会员,加入于 2013-03-19 10:01:03 +08:00
SQL 当作脚本执行引擎
数据库  •  sujin190  •  194 天前
支持多数据源联合查询的本地运行 SQL 执行引擎安装和配置
数据库  •  sujin190  •  2023-07-18 09:35:23 AM  •  最后回复来自 sujin190
2
k8s 集群的 ingress 为啥识别不到另一个节点部署的 pod
Kubernetes  •  sujin190  •  2022-03-16 21:36:12 PM  •  最后回复来自 sujin190
2
sujin190 最近回复了
v6 开启 nat 支持配置端口转发也只能转发到 v6 内网地址吧
不需要这么费劲吧,常用的库比如 okhttp 都支持设置自定义证书验证回调吧,在回调里处理下直接忽略证书过期然后改成直接验证服务器证书指纹就好了啊,也是安全的

import okhttp3.*;
import javax.net.ssl.*;
import java.security.cert.X509Certificate;

public class CustomVerifyOkHttp {

public static OkHttpClient buildClient() throws Exception {
TrustManager[] trustManagers = new TrustManager[]{
new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) {
// 不处理客户端
}

@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
// 示例:只信任特定公钥指纹
X509Certificate cert = chain[0];
String sha256 = sha256(cert.getPublicKey().getEncoded());
if (!"your_expected_sha256_fingerprint".equalsIgnoreCase(sha256)) {
throw new CertificateException("Untrusted server certificate");
}
}

@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
}
};

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustManagers, new java.security.SecureRandom());

return new OkHttpClient.Builder()
.sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0])
.hostnameVerifier((hostname, session) -> true) // 可选:略过主机名验证
.build();
}

private static String sha256(byte[] data) throws Exception {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("SHA-256");
byte[] digest = md.digest(data);
StringBuilder sb = new StringBuilder();
for (byte b : digest) sb.append(String.format("%02x", b));
return sb.toString();
}
}


基本就是这样,这样之后楼上说的什么中间人抓包也没可能了
国产化系统基本上内核、标准库、编译器都很老了,这些货一个一个都完全没计划考虑定期升级个内核什么的,真是坑死个人的
@magic3584 #15 C++代码也是架构和系统绑定的啊,首先动态链接库 windows 叫 dll ,国产底层都是 linux 叫 so ,就算你有源码都不一定能在过程系统上编译出 so 来,这还有工具链、编译器版本和标准库依赖的问题,没源码的话就歇了吧

C#代码就算迁移到.net core 如果不是 asp.net 那一套估计工作量感觉还行,否则几乎等同于重写了吧
不搞个生成二维码
@dorothyREN #1 而且遇到不存在的配置文件查询也立即返回文件已修改,这似乎也不合理吧
@dorothyREN #1 这东西也没啥权限可以设置,用不用的感觉也没啥区别吧,如果只是小团队用估计也没啥必要还去分啥 namespace 吧,但是有这问题就不合理了
我们用的是 proxifier ,proxifier 配规则拦截掉全部对 pod 的 ip 访问,然后在 k8s 里用 deployment 部署一个简单的 socks5 代理来负责转发,安装配置简单,开发过程也是无感的
76 天前
回复了 ShawyerPeng 创建的主题 程序员 分布式锁是否能实现锁住一个 key 范围
顺便说如果你用的是大家用挺多的 redis 分布式锁,因为 redis 协议原因,冲突率较高情况下性能会有较大下降,单个加锁延时在冲突率高情况下提高不少,也是需要考虑的
一般来说各种介绍分布式锁使用的文章说到的场景实际冲突率都低于百分之一吧,可以统计或者预估下冲突率在啥价格
如果冲突率实在高又并发不均衡就是有较大峰值,那还是好好的用 kafka 来搞吧
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3907 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 00:51 · PVG 08:51 · LAX 17:51 · JFK 20:51
♥ Do have faith in what you're doing.