リンクポート転送ssl転送


1.背景
ピンクラウドにホワイトリスト機構を採用して、サーバーがホワイトリスト以外のipアドレスにアクセスすることを禁止しています.もし二者または三者インターフェースにアクセスする必要があれば、ホワイトリストを追加する必要があります.
2.据え付けapt-get install rinetd3.設定
プロファイルは/etc/rintetd.co.com nfにあります.比較的簡単です.説明はしません.
#
# this is the configuration file for rinetd, the internet redirection server
#
# you may specify global allow and deny rules here
# only ip addresses are matched, hostnames cannot be specified here
# the wildcards you may use are * and ?
#
# allow 192.168.2.*
# deny 192.168.2.1?


#
# forwarding rules come here
#
# you may specify allow and deny rules after a specific forwarding rule
# to apply to only that forwarding rule
#
# bindadress    bindport  connectaddress  connectport


# logging information
logfile /var/log/rinetd.log

# uncomment the following line if you want web-server style logfile format
# logcommon
# 0.0.0.0 88 open.ys7.com 80
0.0.0.0 88 api.weixin.qq.com 443
ここで注意したいのですが、代理店443の後、元々の訪問先は下記の通りです.https://api.weixin.qq.comを選択しますhttps://123.123.123:88このような訪問はホストの不信任問題を報告します.アリ雲はクラウド解析DNS/Private Zoneができます.ssl無視もできます.javaコードは以下の通りです.
@Configuration
public class IgnoreSSLRestConfig {
     
    /**
     *      SSL    resttemplate
     */

    @Bean
    public RestTemplate restTemplate() {
     
        RestTemplate restTemplate = new RestTemplate(getFactory());
        return restTemplate;
    }

    @Bean
    public HttpComponentsClientHttpRequestFactory getFactory() {
     
        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
        TrustStrategy acceptingTrustStrategy = (x509Certificates, authType) -> true;
        try {
     
            SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
            HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
            CloseableHttpClient httpClient = httpClientBuilder
                    .setSSLContext(sslContext)
                    .setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
            factory.setHttpClient(httpClient);
            return factory;
        } catch (Exception e) {
     
            throw new YzbException(e.getMessage(), e);
        }
    }
}
4.起動/etc/init.d/rinetd start