Lähtevä välityspalvelin
Osa malleista ei ole suoraan saatavilla Venäjän palvelimilta. Jotta tämä ei muutu manuaaliseksi asetukseksi jokaiselle operaattorille, AiHummer antaa lähtevän välityspalvelimen osoitteen asennuksen yhteydessä ja päättää itse, millä reitillä pyyntö lähetetään.
Yhteenveto kahdessa lauseessa
Välityspalvelimen osoite tulee toimittajalta ja tallennetaan yksityiseen tiedostoon palvelimella — se ei ole gateway.env-tiedostossa eikä päädy lokiin. Jos välityspalvelinta ei ole määritetty tai se on saavuttamattomissa, pyyntö menee suoraan: instanssi jatkaa toimintaansa eikä pysähdy.
Mihin minne menee
| Mihin | Miten kulkee |
|---|---|
| Ulkoinen malli (ulkomainen tarjoaja) | välityspalvelimen kautta, jos se on määritetty ja kelvollinen |
| Sama malli, jos välityspalvelin ei ole käytettävissä | suoraan, varoituksella lokissa |
localhost, *.localhost, sisäinen instanssin osoite |
aina suoraan, välityspalvelimen ohi |
Viimeinen rivi on tärkeä: instanssin omaan itseensä kohdistuva kutsu ei koskaan kiedota välityspalvelimen kautta, muuten paikalliset kutsut riippuisivat ulkoisesta kanavasta.
Vara reitti: välityspalvelimen puuttuminen — ei hylkäystä
Versioon 1.2.8 asti määrittelemätön tai toimimaton välityspalvelin aiheutti pyyntövirheen. Nyt käyttäytyminen on eri:
- välityspalvelin määritetty ja kelvollinen → pyyntö menee sen kautta;
- välityspalvelin ei määritetty → pyyntö menee suoraan, lokiin kirjoitetaan kerran varoitus syystä “ei määritetty”;
- välityspalvelin määritetty, mutta arvo ei kelpaa → pyyntö menee suoraan, syy varoituksessa — “asetus ei kelpaa”.
Varoitus näytetään kerran käynnistyksen aikana, eikä jokaiselle pyynnölle: muuten se täyttäisi lokin eikä sitä enää luettaisi.
:::note Suora reitti on varavaihtoehto, ei korvaus välityspalvelimelle. Jos tarjoaja ei hyväksy pyyntöjä venäläisistä osoitteista, suora pyyntö häntä kohtaan ei onnistu — mutta hylkää sen tarjoaja, ja vastauksessa näkyy juuri tämä, eikä yleinen “asetuksen soveltaminen epäonnistui”. :::
Missä osoite tallennetaan
Arvo sijaitsee yksityisessä tiedostossa, jonka polun määrittää AIHUMMER_OUTBOUND_PROXY_URL_FILE. Tiedoston vaatimukset:
- absoluuttinen polku;
- tavallinen tiedosto, oikeudet korkeintaan
0600; - koko enintään 4096 tavua.
Tämä on tehty tarkoituksella: välityspalvelimen osoite sisältää salasanan, joten sen ei tulisi olla gateway.env-tiedostossa, jota luetaan ja kopioidaan ylläpidon yhteydessä.
:::caution
Muuttuja AIHUMMER_OUTBOUND_PROXY_URL, jossa osoite on “suoraan arvossa”, on olemassa vain kehitysversioissa. Julkaisukelpoiset versiot eivät lue sitä — tuotannossa hyväksytään ainoastaan tiedoston polku.
:::
Mitä osoitteita hyväksytään
Tarkistus on sama sekä asetuksen antamishetkellä että käytön aikana, joten kelpaamaton arvo hylätään heti, eikä siitä myöhemmin muutu “ulkomaiset mallit eivät enää toimi” ilman yhtään lokiriviä.
Hyväksytään: http tai https -skeema, ei-tyhjä isäntä, ilman kyselymerkkijonoa, ilman fragmenttia, ilman polkua (paitsi /).
🔴 Pelkkä http ei-lokaalisessa isännässä hylätään tarkoituksella. Salaamattomassa http-yhteydessä Proxy-Authorization-otsikko lähetetään selkokielisenä jokaisessa yhteydessä — eli välityspalvelimen salasana vuotaisi jatkuvasti. Ei-lokaaliselle isännälle käytä https.
Kuinka tarkistaa, mitä tapahtuu
# Mitä on tällä hetkellä asetettu (arvoa ei tulosteta — vain asetuksen fakta)
aihummer doctor
# Yhdyskäytävän loki: varoitus suorasta reitistä, jos välityspalvelinta ei ole otettu käyttöön
journalctl -u aihummer-gateway -n 200 | grep -i прокси
Asetuksen soveltamisen hylkäys nimeää syyn — “ei määritetty”, “asetus ei kelpaa” — yleisen “soveltaminen epäonnistui” sijaan. Tämä erottaa “osoite ei saapunut” ja “osoite saapui, mutta on virheellinen”.
Mitä operaattorin tulee tehdä
Yleensä — ei mitään: osoite annetaan asennuksen yhteydessä. Puuttumista tarvitaan kahdessa tapauksessa.
- Oma välityspalvelin toimittajan sijaan. Aseta osoite yksityiseen tiedostoon oikeuksilla
0600ja määritä polkuAIHUMMER_OUTBOUND_PROXY_URL_FILE, sitten käynnistä yhdyskäytävä uudelleen. - Välityspalvelinta ei tarvita lainkaan (instanssi sijaitsee paikassa, josta mallit ovat suoraan saatavilla). Mitään ei tarvitse määrittää: määrittelemätön välityspalvelin tarkoittaa suoraa pyyntöä.