Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yaygın Geliştirme Proxy'si sorunlarını tanılamak ve düzeltmek için bu kılavuzu kullanın. Belirtilerinizle başlayın ve çözümü bulmak için tanılama sorularını inceleyin.
Belirti: Geliştirme Proxy'si istekleri kesmiyor
Geliştirme Proxy'sini başlattınız, ancak uygulamanızın istekleri Dev Proxy çıktısında görünmüyor. Nedenini belirlemek için bu soruları inceleyin.
Dev Proxy çalışıyor mu?
Dev Proxy'nin çalışıp çalışmadığını ve istekleri kesmeye hazır olup olmadığını denetleyin.
Dikkat edilecek bilgi:
Dev Proxy'yi başlattıktan sonra şuna benzer bir çıkış görmeniz gerekir:
info Dev Proxy API listening on http://127.0.0.1:8897...
info Dev Proxy listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Bu çıkışı görmüyorsanız:
- Çalıştırarak Dev Proxy'nin doğru yüklenip yüklenmediğini denetleyin
devproxy --version - Hata alırsanız Dev Proxy'yi yeniden yükleyin
Dev Proxy sistem proxy'si olarak kayıtlı mı?
İstekleri otomatik olarak kesmek için Dev Proxy sistem proxy'si olarak kaydedilmelidir. Değilse, uygulamanızın istekleri Dev Proxy'yi tamamen atlar.
macOS'ta denetleme:
- Sistem Ayarları> açma
- Etkin ağ bağlantınızı seçin
- Ayrıntılar'a gidin...>Proxy 'leri
-
Güvenli HTTP Ara Sunucusu (HTTPS) öğesi
127.0.0.1:8000olarak ayarlanmış
Windows'da denetleme:
- Ayarlar>Ağ ve İnternet Proxy'lerini> açma
-
El ile vekil sunucu kurulumu altında, vekil sunucunun ayarının
127.0.0.1:8000olarak yapılmış olduğundan emin olun.
Eğer Development Proxy sistem proxy'si olarak kayıtlı değilse:
Geliştirme Proxy'si yapılandırmanızı denetleyin. Komutunu çalıştırarak devproxy config yapılandırma dosyasını açın ve içermediğinden emin olun:
{
"asSystemProxy": false
}
Bu ayar varsa ve olarak ayarlandıysa false, kaldırın veya olarak trueayarlayın, ardından Dev Proxy'yi yeniden başlatın.
Doğru URL'leri mi izliyorsunuz?
Dev Proxy yalnızca yapılandırmadaki urlsToWatch desenlerle eşleşen URL'lere yönelik istekleri durdurur.
Nasıl denetlenir?
- İzlenen URL'lerin listesini görmek için Dev Proxy başlatma çıktısına bakın.
- Bunları uygulamanızın çağıran URL'si ile karşılaştırın
Yaygın sorunlar:
-
Joker karakterler eksik:
https://api.example.comhttps://api.example.com/usersile eşleşmiyor. Bunun yerinehttps://api.example.com/*kullanın. - Yanlış etki alanı: Alt etki alanları dahil olmak üzere etki alanı adını iki kez denetleyin
- HTTP ve HTTPS: Protokolün eşleştiğinden emin olun
URL deseninizi test etmek için:
devproxy --urls-to-watch "https://your-api.com/*"
Ardından API'nize bir istek gönderin ve Dev Proxy'nin bunu günlüğe kaydedip kaydetmediğini denetleyin.
Doğru yapılandırma dosyasını mı kullanıyorsunuz?
Dev Proxy beklediğinizden farklı bir yapılandırma dosyası kullanıyor olabilir.
Geliştirme Proxy'si yapılandırma dosyalarını nasıl bulur:
- belirtirseniz
--config-fileDev Proxy bu dosyayı kullanır - Aksi takdirde, Geliştirme Proxy'si geçerli dizinde arar
devproxyrc.json - Bulunamazsa Dev Proxy varsayılan ayarları kullanır
Hangi yapılandırma dosyasının kullanıldığını doğrulamak için:
Hata ayıklama günlüğü ile Geliştirme Proxy'si çalıştırın:
devproxy --log-level debug
Hangi yapılandırma dosyasının yüklendiğini gösteren çıkışı arayın.
Açıkça bir yapılandırma dosyası belirtmek için:
devproxy --config-file ./my-config.json
Node.js uygulamasıyla Dev Proxy mi kullanıyorsunuz?
Node.js otomatik olarak sistem ara sunucusu ayarlarını kullanmaz. Node.js uygulamanızı proxy'yi açıkça kullanacak şekilde yapılandırmanız gerekir.
Çözüm:
global-agent Paketi kullanın veya HTTP kitaplığınızı ara sunucuyu kullanacak şekilde yapılandırın. Ayrıntılı yönergeler için bkz. Geliştirme Proxy'sini Node.js uygulamalarıyla kullanma .
Global-agent ile hızlı düzeltme:
Global-agent'i yükle:
npm install global-agentUygulamanızın giriş noktasına ekleyin:
import { bootstrap } from 'global-agent'; bootstrap();Uygulamanızı ara sunucu ortam değişkenleriyle başlatın:
NODE_TLS_REJECT_UNAUTHORIZED=0 GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8000 node app.js
Windows üzerinde PowerShell ile Dev Proxy mi kullanıyorsunuz?
PowerShell, veya Invoke-WebRequestile Invoke-RestMethod yapılan web istekleri için sistem proxy ayarlarını otomatik olarak kullanmaz.
Çözüm:
Parametresini ayarlayarak PowerShell'i proxy sunucusunu kullanacak şekilde -Proxy düzenleyin.
Invoke-WebRequest -Uri "https://api.example.com/data" -Proxy "http://127.0.0.1:8000"
Veya oturumun tamamı için ara sunucuyu ayarlayın:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
PowerShell 7+ kullanıyorsanız şunları da kullanabilirsiniz:
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://127.0.0.1:8000")
Diğer platformlar ve çerçeveler
Başka platformlar kullanıyorsanız şu kılavuzlara bakın:
| Platform | Guide |
|---|---|
| .NET uygulamaları | .NET uygulamalarıyla Dev Proxy kullanma |
| .NET 4.8 uygulamaları | .NET 4.8 uygulamaları özel yapılandırma gerektirir |
| Docker kapsayıcıları | Docker kapsayıcısında Dev Proxy kullanma |
| SharePoint Framework | SPFx ile Dev Proxy kullanma |
Belirti: İstekler durduruldu ancak değiştirilmeden geçirildi
Geliştirme Proxy'si isteklerinizi çıkışta gösterir, ancak bunlar değiştirilmez, moklanmaz veya simüle edilmiş hatalar döndürülmez.
Eklentileriniz etkinleştirildi mi?
Kullanmak istediğiniz eklentilerin yapılandırmanızda etkinleştirilip etkinleştirilmediğini denetleyin.
Nasıl denetlenir?
Yapılandırma dosyanızı açın ve şunları doğrulayın:
- Eklenti dizide
pluginslistelenir - Eklentinin sahip olduğu
"enabled": true
{
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
Eklentileriniz doğru sırada mı?
Eklenti sırası Dev Proxy'de önemlidir. Eklentiler listelendikleri sırayla yürütülür ve bazıları çalışmadan önce bazı eklentiler işlemeyi durdurabilir.
Yaygın sorun:
MockResponsePlugin daha önce GenericRandomErrorPlugin'dan önce kullanıldıysa, ve bir sahte öğe isteğinizle eşleşiyorsa rastgele hata eklentisi hiçbir zaman çalışmaz.
Çözüm:
Eklentileri istekleri işlemelerini istediğiniz sırayla düzenleyin. Daha fazla bilgi için Sahteler kullanılırken neden rastgele hatalar atılmıyor?'ya bakın.
Sahte URL deseniniz istekle eşleşir mi?
Sahte yanıtlar için URL deseninin istek URL'si ile tam olarak eşleşmesi gerekir.
Denetlenecek şeyler:
- Sorgu dizesi parametreleri:
https://api.example.com/users?id=1eşleşmiyorhttps://api.example.com/users - Sondaki eğik çizgiler:
https://api.example.com/users/,https://api.example.com/usersile eşleşmiyor - Büyük/küçük harf duyarlılığı: URL yolları büyük/küçük harfe duyarlıdır
İstek yöntemi doğru mu?
Sahte nesneler yönteme özgüdür.
GET istekleri için bir yapılandırma, POST istekleri ile eşleşmiyor.
Nasıl denetlenir?
Simülasyon dosyanızda, method özelliğinin isteğinizle eşleşip eşleşmediğini doğrulayın.
{
"request": {
"url": "https://api.example.com/users",
"method": "GET"
},
"response": {
"statusCode": 200,
"body": { "users": [] }
}
}
Belirti: Uygulamanızda SSL/sertifika hataları
Uygulamanız, Dev Proxy aracılığıyla istekte bulunmaya çalışırken SSL veya sertifika hataları oluşturur.
Dev Proxy sertifikanız yüklü mü?
Geliştirme Proxy'si, HTTPS trafiğinin şifresini çözmek için otomatik olarak imzalanan bir sertifika kullanır. Sisteminizin bu sertifikaya güvenmesi gerekir.
Çözüm:
Sertifika yükleme komutunu çalıştırın:
devproxy cert ensure
Bu komut, sisteminize Dev Proxy sertifikasını yükler ve güvenir.
Sertifika güvenilir mi?
Sertifika yüklü olabilir ancak güvenilir olmayabilir.
macOS'ta denetleme:
- Anahtarlık Erişimi'ni açma
- "Dev Proxy" araması yapın
- Sertifikaya çift tıklayın
- Güveni Artır
- Güvenli Yuva Katmanı'nın (SSL)Her Zaman Güven olarak ayarlandığını doğrulayın
Windows'da denetleme:
-
certmgr.msckomutunu çalıştırın - Güvenilen Kök Sertifika Yetkilileri> bölümüne gidin ve Sertifikalar kısmını seçin.
- Geliştirici Proxy sertifikasını arayın
Sertifikaya güvenilmiyorsa:
Sertifikayı kaldırın ve yeniden yükleyin:
devproxy cert remove
devproxy cert ensure
Node.jskullanıyor musunuz?
Node.js varsayılan olarak sistem sertifika depounu kullanmaz. Aşağıdakilerden birini yapmanız gerekir:
1. Seçenek: Sertifika doğrulamayı devre dışı bırakma (yalnızca geliştirme):
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js
Uyarı
Asla üretimde kullanmayın NODE_TLS_REJECT_UNAUTHORIZED=0 . Tüm sertifika doğrulamayı devre dışı bırakır.
2. Seçenek: Node.jsIçin Geliştirme Proxy'si sertifikasını ekleyin:
Dev Proxy sertifikasını dışarı aktarın ve ortam değişkenini NODE_EXTRA_CA_CERTS ayarlayın:
NODE_EXTRA_CA_CERTS=/path/to/devproxy-cert.pem node app.js
Farklı bir çalışma zamanı veya çerçeve mi kullanıyorsunuz?
Farklı platformlar sertifikaları farklı işler:
| Platform | Çözüm |
|---|---|
| Piton |
REQUESTS_CA_BUNDLE Veya ortam değişkenlerini kullanma SSL_CERT_FILE |
| Java | Java keystore'a keytool kullanarak sertifika yükleme |
| .NET | Sertifikaya genellikle sistem deposu üzerinden güvenilirlik sağlanır |
| Docker | Sertifikayı bağlama ve CA sertifikalarını kapsayıcıya güncelleştirme |
Diğer yaygın sorunlar
Tüm istekler ağ geçidi zaman aşımı nedeniyle başarısızlığa uğrar.
Neden:
Geliştirme Proxy'si hedef API'ye ulaşamıyor.
Çözüm:
Bkz . Ağ geçidi zaman aşımıyla tüm istekler neden başarısız oluyor?
Dev Proxy'si kullanıldıktan sonra İnternet bağlantısı yok
Neden:
Geliştirme Proxy'si sistem proxy'si olarak düzgün bir şekilde kaydını kaldırmaz.
Çözüm:
Bkz . Ara sunucuyu kullandıktan sonra İnternet bağlantım neden çalışmıyor?
Beklenmedik şekilde 429 yanıt alma
Neden:
Hız sınırlama eklentileri etkinleştirilir ve yapılandırılır.
Çözüm:
Bkz . Neden sürekli 429 yanıt alıyorum?
Veritabanı hataları
| Hata | Çözüm |
|---|---|
| SqliteConnection başlatma hatası | SQLite yapılandırmasını düzeltme |
| "Veritabanı disk görüntüsü yanlış biçimlendirilmiş" | Veritabanını yeniden oluşturma |
Daha fazla yardım alın
Çözüm bulamazsanız:
-
Hata ayıklama günlüğünü etkinleştir: Ayrıntılı çıktı için bu komutu çalıştırın
devproxy --log-level debug - Mevcut sorunları ara: Geliştirici Ara Sunucusu GitHub sorunları
- Yardım isteyin: Yardım ve destek alın