AiHummer
Latviešu
PierakstītiesKonts
v1.2.x
{ }Swagger

Izvada starpniekserveris

v1.2.x · atjaunināts 2026-08-17

Daļa modeļu nav pieejama tieši no serveriem Krievijā. Lai tas nepārvērstos par manuālu iestatīšanu katram operatoram, AiHummer piešķir izvada starpniekservera adresi instalācijas laikā un pats nosaka, kādu ceļu izmantot pieprasījuma nosūtīšanai.

Galvenais divos teikumos

Starpniekservera adrese nāk no piegādātāja un tiek saglabāta privātā failā uz servera — gateway.env tā netiek glabāta un netiek ierakstīta žurnālos. Ja starpniekserveris nav norādīts vai nav pieejams, pieprasījums tiek nosūtīts tieši: instance turpina darboties, nevis apturas.

Kas kur dodas

Kur Kā notiek
Ārējais modelis (ārvalstu pakalpojumu sniedzējs) caur starpniekserveri, ja tas ir iestatīts un piemērots
Tas pats modelis, ja starpniekserveris nav pieejams tieši, ar brīdinājumu žurnālā
localhost, *.localhost, iekšējais instances adrese vienmēr tieši, apiet starpniekserveri

Pēdējā rinda ir svarīga: instances pieprasījums uz sevi pašu nekad netiek iesaiņots starpniekserverī, pretējā gadījumā lokālie izsaukumi būtu atkarīgi no ārējā kanāla.

Rezerves ceļš: starpniekservera trūkums — ne atteikums

Līdz versijai 1.2.8 nenorādīts vai nedarbojošs starpniekserveris nozīmēja pieprasījuma kļūdu. Tagad uzvedība ir cita:

  • starpniekserveris iestatīts un piemērots → pieprasījums tiek nosūtīts caur to;
  • starpniekserveris nav iestatīts → pieprasījums tiek nosūtīts tieši, žurnālā vienreiz tiek ierakstīts brīdinājums ar iemeslu “nav iestatīts”;
  • starpniekserveris iestatīts, bet vērtība nav piemērota → pieprasījums tiek nosūtīts tieši, iemesls brīdinājumā — “iestatījums nav piemērots”.

Brīdinājums tiek izvadīts vienu reizi uz starta, nevis pie katra pieprasījuma: citādi tas pārpildītu žurnālu un tas vairs nebūtu lasāms.

:::note Tiešais ceļš ir rezerves variants, nevis starpniekservera aizstājējs. Ja pakalpojumu sniedzējs nepieņem pieprasījumus no Krievijas adresēm, tiešais pieprasījums uz to neizdosies — bet atteiksies jau pakalpojumu sniedzējs, un atbildē būs redzams tieši tas, nevis vispārīgs “neizdevās piemērot iestatījumu”. :::

Kur tiek glabāta adrese

Vērtība atrodas privātā failā, kura ceļu nosaka AIHUMMER_OUTBOUND_PROXY_URL_FILE. Faila prasības:

  • absolūts ceļš;
  • parasts fails, tiesības ne plašākas par 0600;
  • izmērs līdz 4096 baitiem.

Tas ir darīts apzināti: starpniekservera adrese satur paroli, tāpēc tā nevajadzētu būt gateway.env, ko lasa un kopē apkalpošanas laikā.

:::caution Mainīgais AIHUMMER_OUTBOUND_PROXY_URL ar adresi “tieši vērtībā” pastāv tikai izstrādes būvējumos. Izlaides būvējumos tas netiek nolasīts — produkcijā tiek pieņemts tikai ceļš uz failu. :::

Kādas adreses tiek pieņemtas

Pārbaude ir vienāda gan iestatījuma piešķiršanas brīdī, gan lietošanas brīdī, tāpēc nepiemērota vērtība tiek noraidīta uzreiz, nevis vēlāk pārvērsta par “ārvalstu modeļi vairs nedarbojas” bez vienas rindas žurnālā.

Pieņemts: shēma http vai https, ne tukšs host, bez pieprasījuma virknes, bez fragmenta, bez ceļa (izņemot /).

🔴 Tīrs http uz ne lokāla hosta tiek noraidīts apzināti. Nešifrētā http gadījumā galvene Proxy-Authorization tiek nosūtīta atklātā tekstā katrā savienojumā — tas nozīmē, ka starpniekservera parole pastāvīgi noplūst. Ne lokālam hostam izmantojiet https.

Kā pārbaudīt, kas notiek

# Kas pašlaik iestatīts (vērtība netiek izdrukāta — tikai iestatīšanas fakts)
aihummer doctor

# Vārtejas žurnāls: brīdinājums par tiešo ceļu, ja starpniekserveris nav piemērots
journalctl -u aihummer-gateway -n 200 | grep -i прокси

Iestatījuma noraidīšana nosauc iemeslu — “nav iestatīts”, “iestatījums nav piemērots” — nevis vispārīgu “neizdevās piemērot”. Tas atšķir “adrese nepienāca” no “adrese pienāca, bet ir nepareiza”.

Ko darīt operatoram

Parasti — neko: adrese tiek piešķirta instalācijas laikā. Iesaistīšanās ir nepieciešama divos gadījumos.

  1. Savs starpniekserveris vietā piegādātāja. Ievietojiet adresi privātā failā ar tiesībām 0600 un norādiet ceļu AIHUMMER_OUTBOUND_PROXY_URL_FILE, pēc tam pārstartējiet vārteju.
  2. Starpniekserveris vispār nav vajadzīgs (instance atrodas vietā, no kuras modeļi ir pieejami tieši). Nekas norādīt nav jābūt: nenorādīts starpniekserveris nozīmē tiešu pieprasījumu.