“TypeError: NetworkError when attempting to fetch resource.” hatasının çözümü

  • mavzerOPMA
    link
    fedilink
    Türkçe
    arrow-up
    1
    ·
    edit-2
    5 hours ago

    🛠️ Lemmy UI – NetworkError Çözüm Rehberi

    YunoHost veya manuel SSH kurulumlarında Lemmy UI tarafında karşılaşılan TypeError: NetworkError when attempting to fetch resource. hatasının kök nedeni ve adım adım çözüm prosedürü.

    📝 Özet: lemmy-ui ortam değişkenlerinin (environment variables) isim mimarisi değişti. Eski değişken adları kullanıldığında arayüz dahili adrese (0.0.0.0:8536) istek atmaya çalışır ve istek engellenir. Güncel değişken adlarını tanımlamak sorunu çözer.


    1. 🔍 Sorunun Tanımı

    Lemmy arayüzüne giriş yapılmaya çalışıldığında tarayıcı konsolunda şu hata gözlemlenir:

    
    TypeError: NetworkError when attempting to fetch resource.
    
    

    Tarayıcının Network (Ağ) sekmesindeki istek detayları incelendiğinde:

    
    POST /api/v3/user/login
    
    Host: 0.0.0.0:8536
    
    Origin: https://my.mavzer.org/
    
    

    ⚠️ Hata Nedeni: Tarayıcı, backend servisine 0.0.0.0:8536 (internal adres) üzerinden erişmeye çalışır. Bu adres dış ağa kapalı olduğundan istek engellenir ve NetworkError tetiklenir. Doğru adres https://my.mavzer.org/api/v3/... olmalıdır.


    2. ⚡ Kök Neden

    lemmy-ui.service dosyasındaki ortam değişkenleri eski isimleriyle yazılmıştır. Modern lemmy-ui sürümleri LEMMY_UI_ ön ekini bekler. Eski isimler tanınmadığı için uygulama varsayılan dahili değere (0.0.0.0:8536) düşer.


    3. 🚀 Çözüm Adımları

    🔹 Adım 1: Servis Dosyasını Düzenleyin

    
    sudo nano /etc/systemd/system/lemmy-ui.service
    
    

    🔹 Adım 2: [Service] Bölümünü Güncelleyin

    Eski Environment= satırlarını tamamen silip yerine aşağıdakileri ekleyin:

    
    [Service]
    
    Type=simple
    
    User=lemmy
    
    Group=lemmy
    
    Environment="LEMMY_UI_LEMMY_INTERNAL_HOST=127.0.0.1:8536"
    
    Environment="LEMMY_UI_LEMMY_EXTERNAL_HOST=my.mavzer.org"
    
    Environment="LEMMY_UI_HTTPS=true"
    
    Environment="LEMMY_UI_HOST=0.0.0.0:1235"
    
    WorkingDirectory=/var/www/lemmy/lemmy-ui/
    
    ExecStart=/opt/node_n/n/versions/node/20.20.2/bin/node dist/js/server.js
    
    StandardOutput=append:/var/log/lemmy/lemmy-ui.log
    
    StandardError=inherit
    
    Restart=always
    
    

    📌 Not: my.mavzer.org adresini kendi domaininizle değiştirmeyi unutmayın. Node.js dosya yolu da sisteminizdeki sürüme göre farklılık gösterebilir.

    🔹 Adım 3: Servisleri Yeniden Başlatın

    
    sudo systemctl daemon-reload
    
    sudo systemctl restart lemmy-ui
    
    

    🔹 Adım 4: Ön Belleği Temizleyip Test Edin

    Tarayıcınızda Ctrl + Shift + R (Sert Yenileme) yaparak giriş ekranını tekrar deneyin.


    4. ✅ Doğrulama

    Oturum açma denemesinden sonra F12 -> Network sekmesini kontrol edin. Başarılı bir istek şu şekilde görünmelidir:

    
    POST https://my.mavzer.org/api/v3/user/login
    
    Status: 200 OK (veya 400 - şifre hatalıysa)
    
    

    Host başlığında artık 0.0.0.0:8536 adresi görünmemelidir.


    💡 Ek İpuçları & Faydalı Komutlar

    • Servis durumlarını kontrol etmek için:

      
      systemctl status lemmy lemmy-ui lemmy-pict-rs
      
      
    • Canlı log takibi için:

      
      journalctl -u lemmy-ui -f
      
      
    • Nginx konfigürasyonunu kontrol etmek için:

      
      find /etc/nginx -name '*lemmy*'
      
      
    • YunoHost uygulama detaylarını görmek için:

      
      yunohost app info lemmy --full