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 තෝරා ගැනීමෙන් වෙන්ව පවතී.

අදාළ ලිපි