我正在使用Jedis,我无法直接连接到Redis,我必须使用代理。
我可以使用 socks 代理通过Redis
连接到Jedis
吗?
你能帮我吗。
问候。
最佳答案
我一直在寻找解决方案,但找不到任何解决方案。因此,我进行了以下更改以解决此问题:
@NotNull
private ProxySelector proxySelector() {
return new ProxySelector() {
@Override
public List<Proxy> select(URI uri) {
List<Proxy> proxies = new LinkedList<>();
InetSocketAddress socketAddress =
new InetSocketAddress(proxyHost, proxyPort);
proxies.add(new Proxy(Type.HTTP, socketAddress));
return proxies;
}
@Override
public void connectFailed(URI uri, SocketAddress sa, IOException e) {
log.error(String.format(
"Connection to proxy server %s with socket address %s failed with error. %s",
uri, sa, e));
}
};
}
然后设置默认的代理选择器:
ProxySelector.setDefault(proxySelector());