Reactor Netty نىڭ HTTP ۋاكالەت بىر تەرەپ قىلغۇچىسى ئادەتتىكى HTTP نىشانى ئۈچۈنمۇ CONNECT تونېلىنى قۇرىدۇ. ئەگەر كۆزلىنىۋاتقان ۋاكالەت ئادەتتىكى HTTP/1.1 يوللاشنى قوبۇل قىلسا، Spring WebClient باشقا قوللايدىغان ئۇلىغۇچنى ئىشلىتەلەيدۇ.

Spring 6.2 بىلەن Jetty 12.0.35 نىڭ خېرىدار API سى ۋە ماس كېلىدىغان Jetty Reactive Streams بىرلەشمىسى ئۈچۈن:

var jetty = new org.eclipse.jetty.client.HttpClient(
    new org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP());
jetty.getProxyConfiguration().addProxy(
    new org.eclipse.jetty.client.HttpProxy("proxy.example", 8080));

var client = WebClient.builder()
    .clientConnector(new JettyClientHttpConnector(jetty))
    .build();

WebClient ۋە JettyClientHttpConnector بولسا Spring نىڭ سىنىپلىرى. تەمىنلەنگەن Jetty خېرىدارىنىڭ قوزغىلىشى ۋە توقتىلىشىنى ئەپلىكېشنىڭ نورمال ھايات دەۋرى ئارقىلىق باشقۇرۇڭ.

نىشان ۋە خېرىدار-ۋاكالەت پروتوكوللىرى ماس كەلگەندە Jetty نىڭ HTTP/1.1 ۋاكالىتى ئادەتتىكى HTTP/1.1 تەلەپنى تونېلسىز يوللىيالايدۇ. ئۇنىڭ requiresTunnel سىياسىتى بىخەتەر نىشانلار ۋە ماس كەلمەيدىغان پروتوكول يوللىرى ئۈچۈن CONNECT ئىشلىتىدۇ.

بۇ ئادەتتىكى HTTPS تونېلىدىن CONNECT نى چىقىرىۋېتىش ئۇسۇلى ئەمەس. نىشاننىڭ scheme سىنى توغرا ساقلاڭ.

كۆرسىتىلگەن Jetty API دا addProxy نى ئىشلىتىڭ. getProxies ئۆزگەرتىلگىلى بولمايدىغان تىزىملىك قايتۇرىدۇ، شۇڭا كونا getProxies().add(...) ئۇسۇلى ئۇنىڭ ھازىرقى ئۆزگەرتىش ئىنتېرفېيسى ئەمەس.

رۇخسەت قىلىنغان ئاممىۋى ۋاكالەت يولىدىكى ئاممىۋى HTTP نىشانلىرى ئۈچۈن، HTTP ۋاكالەت تىزىملىكى Jetty ۋاكالىتىنىڭ host ۋە port ى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ. ئۇلىغۇچلارنى سېلىشتۇرغاندا ھەقىقىي ۋاكالەت جاۋابىنى ئوقۇڭ. دەلىللەش، نىشان سىياسىتى ۋە ئىشلەتكىلى بولمايدىغان نىشان يوللانغان HTTP ياكى CONNECT تاللىشىدىن ئايرىم تۇرىدۇ.

مۇناسىۋەتلىك ماقالىلەر