On Fri, Apr 9, 2021 at 11:27 PM Iulian Roman <iulian.ro...@gmail.com> wrote:

>
>
> > On 9 Apr 2021, at 19:22, Petru Rațiu <rpe...@gmail.com> wrote:
> >
> > Nu mi-e foarte clar la ce anume te referi, dar cred ca zici de
> variabile de
> > mediu.
> exact
> > Cum sunt ele interpretate tine de programul care se uita la ele
> > (clientul de http/https). wget foloseste http_proxy si https_proxy in
> > functie de schema url-ului. Amuzant, curl se uita la http_proxy si
> > HTTPS_PROXY, pentru ca... motive. Posibil alti clienti sa foloseasca
> > chestii similare pentru familiaritate, dar nu e un standard consistent.
> > Paginile de manual sunt cea mai buna lamurire.
> >
> > Din punctul de vedere al proxy-ului, trebuie ca clientului ala sa i se
> > permita explicit accesul, depinde iarasi de softul de proxy cum se face
> > asta (de notat ca proxy pentru https inseamna doar ca face metoda CONNECT
> > si tuneleaza TLS prin proxy fara ca proxy-ul sa stie altceva in afara de
> > hostname, asta daca vrei sa pui acl-uri mai fancy).
> >
> > Iarasi, daca ai da mai multe detalii ce anume incerci sa faci ar fi ceva
> > mai bine.
> >
> Nu ma intereseaza sa fac ceva anume, e mai mult curiozitatea de a intelege
> cum functioneaza si mai ales de ce si cand e indicat sa se foloseasca
> https_proxy. Totul a pornit de la o discutie cu un coleg cand testam
> conectarea prin Bluecoat (care are rolul de proxy) si l-am intrebat de ce
> are setat https_proxy iar el a raspuns ca http_proxy e pentru trafic http
> si https_proxy pentru trafic https , ceea ce nu are sens. Apoi am incercat
> sa caut pe net explicatii dar nu am gasit ceva foarte concret.
> Daca am setat http_proxy si https_proxy, cum se face conectarea clientului
> la proxy ? Inteleg ca depinde de client ?
> In concluzie , la ce ma ajuta https_proxy si cand e indicat de folosit ,
> ca eu nu prea inteleg de ce ar trebui utilizat (in special in intranet) ?
>
>
Repet, tine de client. Programul pe care-l folosesti poate alege sa ia
setari de proxy din env. Probabil ca colegul folosea ceva bazat pe wget,
caz in care era perfect corecta explicatia. wget tine cont de schema
url-ului de conectare si verifica daca exista setare de proxy pentru
protocolul ala. La HTTP se leaga la portul cu pricina si face requestul
normal, urmand ca proxy-ul sa se prinda din headerul Host cu cine voia sa
vorbeasca de fapt si sa faca requestul mai departe. La HTTPS se leaga la
server si face CONNECT realhost:443 (sau whatever), iar proxy-ul trateaza
conexiunea ca pe un tunel TCP prin care clientul cu serverul vorbesc TLS ce
le trazneste. Dar cum anume se cheama variabilele alea, tine de toanele
clientului, lucru pe care doar din documentatia lui poti afla.

Din manpage-ul de wget:

       Wget supports proxies for both HTTP and FTP retrievals.  The
> standard way to specify proxy location, which Wget recognizes, is using the
> following environment variables:
>
>        `http_proxy' `https_proxy' If set, the `http_proxy' and
> `https_proxy' variables should contain the URLs of the proxies for HTTP and
> HTTPS connections respectively.
>
>        `ftp_proxy' This variable should contain the URL of the proxy for
> FTP connections.  It is quite common that `http_proxy' and `ftp_proxy' are
> set to the same URL.
>
>        `no_proxy' This variable should contain a comma-separated list of
> domain extensions proxy should _not_ be used for.  For instance, if the
> value of `no_proxy' is `.mit.edu', proxy
>        will not be used to retrieve documents from MIT.
>

Din manpage de curl:

ENVIRONMENT
>        The environment variables can be specified in lower case or upper
> case. The lower case version has precedence. http_proxy is an exception as
> it is only available in lower case.
>
>        http_proxy [protocol://]<host>[:port]
>               Sets the proxy server to use for HTTP.
>
>        HTTPS_PROXY [protocol://]<host>[:port]
>               Sets the proxy server to use for HTTPS.
>
>        FTP_PROXY [protocol://]<host>[:port]
>               Sets the proxy server to use for FTP.
>
>        ALL_PROXY [protocol://]<host>[:port]
>               Sets the proxy server to use if no protocol-specific proxy
> is set.
>
>        NO_PROXY <comma-separated list of hosts>
>               list of host names that shouldn't go through any proxy. If
> set to a asterisk '*' only, it matches all hosts.
>


Alte programe pot alege sa se uite la variabilele astea sau altele sau sa
vrea via config/command line. In general un client care e multi-protocol
poate avea setari diferite pe fiecare protocol, pentru ca mecanismul e
dependent de protocol oricum. Daca te uiti si in setarile browserului
grafic ai setari diferite. E drept ca in ziua de azi cam tot traficul e
https, dar asta e cu totul alta discutie.

Bafta,

-- 
P.
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro

Raspunde prin e-mail lui