Sistem ara sunucusu seçeneğini kullanma

Bir bakışta
Hedef: Geliştirme Proxy'sinde tüm sistem trafiğinin mi yoksa yalnızca açıkça yönlendirilen trafiğin mi yakalandığını denetleme
Süre: 5 dakika
Önkoşullar:Geliştirme Ara Sunucusunu Ayarlama

Varsayılan olarak, Geliştirme Proxy'sini başlattığınızda, kendisini sistem proxy'si olarak kaydeder. Sonuç olarak makinenizdeki tüm HTTP/HTTPS trafiği otomatik olarak Dev Proxy üzerinden yönlendirilir. Dev Proxy aracılığıyla tüm trafiğe ara sunucu oluşturma çoğu senaryoda iyi çalışır; Dev Proxy'yi başlatırsınız ve uygulamanızdan gelen istekleri ek yapılandırma olmadan hemen yakalar.

Ancak, Dev Proxy'den geçen trafik üzerinde daha fazla denetim sahibi olmak isteyebileceğiniz durumlar vardır. seçeneği asSystemProxy , otomatik sistem ara sunucusu kaydını devre dışı bırakmanıza olanak tanır ve hangi uygulamaların Dev Proxy kullandığı üzerinde ayrıntılı denetim sağlar.

Sistem proxy kaydı ne zaman devre dışı bırakılır?

Şu durumlarda ayarını asSystemProxy göz false önünde bulundurun:

  • Geçersiz kılmak istemediğiniz mevcut ara sunucu ayarlarına sahip bir şirket ağındasınız
  • Makinenizde çalışan diğer uygulamaları etkilemeden yalnızca belirli bir uygulamayı test etmek istiyorsunuz
  • Dev Proxy trafiğine müdahale ettiğinde diğer uygulamalar başarısız olur (örneğin, Azure İşlevleri)
  • Birden çok Dev Proxy örneği çalıştırıyorsunuz ve trafiği belirli örneklere yönlendirmek istiyorsunuz
  • Sistem hizmetleri ve arka plan işlemleriyle müdahaleyi en aza indirmek istiyorsunuz

Sistem proxy'si seçeneğini yapılandırma

Seçeneğini iki şekilde yapılandırabilirsiniz asSystemProxy : yapılandırma dosyasını veya komut satırını kullanma.

Yapılandırma dosyası

Sistem ara sunucusu kaydını kalıcı olarak devre dışı bırakmak için ayarı yapılandırma dosyanıza ekleyin asSystemProxy .

Dosya:devproxyrc.json
Amaç: Otomatik sistem proxy kaydını devre dışı bırakma

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "asSystemProxy": false,
  "urlsToWatch": [
    "https://api.contoso.com/*"
  ]
}

Komut satırı

Tek bir oturumda sistem proxy kaydını devre dışı bırakmak için seçeneğini kullanın --as-system-proxy .

devproxy --as-system-proxy false

Trafiği Dev Proxy'ye el ile yönlendirme

Sistem ara sunucusu kaydını devre dışı bırakdığınızda, uygulamalar trafiğini Otomatik Olarak Dev Proxy üzerinden yönlendirmez. Her uygulamayı Dev Proxy'yi açıkça kullanacak şekilde yapılandırmanız gerekir.

Ortam değişkenlerini kullanma

Trafiği Dev Proxy'ye yönlendirmenin en yaygın yolu ortam değişkenini HTTPS_PROXY ayarlamaktır.

PowerShell:

$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js

Komut İstemi:

set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js

Tavsiye

Bazı uygulamalar ortam değişkenini HTTP_PROXY de destekler. Uygulamanız hem HTTP hem de HTTPS isteklerinde bulunursa her ikisini de ayarlayın.

Dile özgü yapılandırma

Farklı programlama dillerinin ve çerçevelerinin proxy'leri yapılandırmak için kendi yöntemleri vardır:

Örnek: Başlatmayı engellemeden Azure İşlevlerini test etme

Azure İşlevleri, iç iletişim için gRPC kullanır. Bu, Dev Proxy sistem proxy'si olarak kaydedildiğinde başarısız olur. Dev Proxy'yi Azure İşlevleri ile kullanmak için sistem ara sunucusu kaydını devre dışı bırakın ve ortam değişkenleri aracılığıyla ara sunucuyu yapılandırın.

Dosya:devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.1.0/rc.schema.json",
  "asSystemProxy": false,
  "urlsToWatch": [
    "https://jsonplaceholder.typicode.com/*"
  ]
}

Dosya:local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "HTTPS_PROXY": "http://127.0.0.1:8000"
  }
}

Bu yapılandırmayla, izlenen URL'lere yönelik HTTP istekleriniz Dev Proxy aracılığıyla yönlendirilirken Azure İşlevleri normal şekilde başlar.

Örnek: Diğer uygulamaları etkilemeden bir uygulamayı test etme

Aynı anda birden çok uygulama geliştirirken, Dev Proxy'yi bunlardan yalnızca biriyle kullanmak isteyebilirsiniz. Sistem ara sunucusu kaydını devre dışı bırakın ve ortam değişkenini yalnızca hedef uygulama için ayarlayın.

Sistem proxy kaydını yapmadan Geliştirme Proxy'sini başlatın

devproxy --as-system-proxy false

Ayrı bir terminalde, uygulamanızı proxy'nin yapılandırıldığı şekilde çalıştırın:

$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start

Makinenizdeki diğer uygulamalar herhangi bir ara sunucu girişimi olmadan normal şekilde çalışmaya devam eder.

Birden çok Dev Proxy örneği çalıştırma

asSystemProxy değerini false olarak ayarladığınızda, aynı anda birden çok Dev Proxy instance'ı çalıştırabilirsiniz. Her örnek kendi bağlantı noktasında dinler ve örnek başına durum dosyalarını kullanarak kendi durumunu izler.

Birden çok örneği başlatma

Her örneği farklı bir bağlantı noktasında başlatın:

devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json

Başka bir terminalde:

devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json

Çalışan örneklerin durumunu denetleme

Çalışan tüm örnekleri görmek için komutunu status kullanın:

devproxy status

Belirli bir örneği durdurma

Belirli bir örneği hedeflemek için stop komutunu --pid seçeneği ile kullanın:

devproxy stop --pid 6456

Çalışan tüm örnekleri durdurmak için:

devproxy stop

Belirli bir örnekteki günlükleri görüntüleme

--pid komutunu kullanarak logs seçeneğini kullanın:

devproxy logs --pid 6456

Uyarı

Aynı anda sistem proxy'si olarak yalnızca bir Dev Proxy örneği kaydedilebilir. Başka bir sistem ara sunucusu örneği zaten çalışıyorken, asSystemProxy olarak ayarlanmış yeni bir true örneği başlatmayı denerseniz, Dev Proxy başlatmayı engeller.

Ayrıca bakınız