Giden proxy
Modellerin bir kısmına Rusya’daki sunuculardan doğrudan ulaşılamaz. Bu iş operatörlerin tek tek yaptığı elle ayara dönüşmesin diye AiHummer giden proxy adresini kurulum sırasında verir ve isteği hangi yoldan göndereceğine kendisi karar verir.
İki cümlede en önemlisi
Proxy adresi sağlayıcıdan gelir ve sunucudaki özel bir dosyaya yazılır —
gateway.env içinde saklanmaz, günlüklere de düşmez. Proxy tanımlı değilse ya da
erişilemiyorsa istek doğrudan gider: örnek durmaz, çalışmayı sürdürür.
Ne nereye gider
| Nereye | Nasıl gider |
|---|---|
| Dış model (yurt dışındaki sağlayıcı) | yapılandırılmış ve elverişliyse proxy üzerinden |
| Proxy erişilemezken aynı model | doğrudan, günlüğe bir uyarı yazılarak |
localhost, *.localhost, örneğin iç adresi |
daima doğrudan, proxy’ye uğramadan |
Son satır önemlidir: örneğin kendisine yaptığı çağrı asla proxy’ye sarılmaz, yoksa yerel çağrılar dış bir kanala bağımlı olurdu.
Yedek yol: proxy’nin olmaması bir ret değildir
1.2.8 sürümüne kadar tanımsız ya da çalışmayan proxy, isteğin hataya düşmesi demekti. Artık davranış farklı:
- proxy yapılandırılmış ve elverişli → istek onun üzerinden gider;
- proxy yapılandırılmamış → istek doğrudan gider, günlüğe bir kez «yapılandırılmamış» gerekçesiyle uyarı yazılır;
- proxy yapılandırılmış ama değer elverişsiz → istek doğrudan gider, uyarıdaki gerekçe «yapılandırma elverişsiz» olur.
Uyarı çalıştırma başına bir kez yazılır, istek başına değil: aksi hâlde günlüğü doldurur ve okunmaz olurdu.
:::note Doğrudan yol proxy’nin yerini alan bir çözüm değil, yedek bir çıkıştır. Sağlayıcı Rusya adreslerinden gelen istekleri kabul etmiyorsa doğrudan istek de ona ulaşmaz — ama bu kez reddeden sağlayıcı olur ve yanıtta genel bir «ayar uygulanamadı» yerine tam olarak bu görünür. :::
Adres nerede saklanır
Değer, yolu AIHUMMER_OUTBOUND_PROXY_URL_FILE ile verilen özel bir dosyada
yaşar. Dosyaya ilişkin koşullar:
- mutlak yol;
- sıradan bir dosya, izinler
0600değerinden geniş olmamalı; - boyut en çok 4096 bayt.
Bu bilerek böyle yapıldı: proxy adresi bir parola taşır, bu yüzden bakım
sırasında okunan ve kopyalanan gateway.env içinde durmamalıdır.
:::caution
Adresi «doğrudan değerin içinde» tutan AIHUMMER_OUTBOUND_PROXY_URL değişkeni
yalnızca geliştirme derlemeleri için vardır. Yayın derlemeleri onu okumaz —
üretimde yalnızca dosya yolu kabul edilir.
:::
Hangi adresler kabul edilir
Denetim, ayarın verildiği anda da kullanıldığı anda da aynıdır; bu yüzden elverişsiz değer hemen geri çevrilir ve sonradan günlükte tek satır bırakmadan «yurt dışı modeller yine çalışmıyor» hâline gelmez.
Kabul edilenler: http veya https şeması, boş olmayan bir konak, sorgu dizesi
yok, parça yok, yol yok (/ dışında).
🔴 Yerel olmayan bir konakta çıplak http bilerek geri çevrilir.
Şifrelenmemiş http üzerinden Proxy-Authorization başlığı bağlantı başına açık
metin olarak gider — yani proxy parolası aralıksız sızardı. Yerel olmayan konak
için https kullanın.
Ne olduğunu nasıl görürsünüz
# What is configured right now (the value is never printed — only whether it is set)
aihummer doctor
# Gateway log: the direct-route warning when the proxy was not applied
journalctl -u aihummer-gateway -n 200 | grep -i proxy
Ayarın uygulanmaması gerekçeyi söyler — «yapılandırılmamış», «yapılandırma elverişsiz» — genel bir «uygulanamadı» yerine. «Adres hiç gelmedi» ile «adres geldi ama yanlış» arasındaki farkı gösteren de budur.
Operatörün yapması gereken
Genellikle hiçbir şey: adres kurulumda verilir. İki durumda müdahale gerekir.
- Sağlayıcınınki yerine kendi proxy’niz. Adresi
0600izinli özel bir dosyaya koyun, yoluAIHUMMER_OUTBOUND_PROXY_URL_FILEiçinde gösterin ve ağ geçidini yeniden başlatın. - Proxy’ye hiç gerek yok (örnek, modellere doğrudan erişilen bir yerde duruyor). Bir şey belirtmeye gerek yoktur: tanımsız proxy doğrudan istek demektir.