İçeriğe geç
Guides 6 dk okuma 873 görüntülenme

Paket yöneticileriyle proxy kullanımı

Bu rehber, bağımlılıkları verimli şekilde yönetmek için npm, pip ve Composer gibi popüler paket yöneticilerinde proxy ayarlarının nasıl yapılandırılacağını anlatır.

Python
Paket yöneticileriyle proxy kullanımı

npm, pip ve composer gibi paket yöneticileriyle bir proxy kullanmak için proxy ayarlarını ortam değişkenleri (HTTP_PROXY, HTTPS_PROXY), komut satırı argümanları veya her paket yöneticisine özgü yapılandırma dosyaları üzerinden tanımlayın.

Birçok geliştirme ortamı kurumsal güvenlik duvarlarının arkasında çalışır veya trafik izleme gerektirir; bu da giden bağlantılar için HTTP ya da HTTPS proxy sunucusu kullanmayı zorunlu kılar. Bağımlılıkları dış registry'lerden indiren paket yöneticileri, doğru çalışabilmek için ağ isteklerini bu proxy'ler üzerinden yönlendirecek şekilde yapılandırılmalıdır.

Genel proxy yapılandırma kavramları

Proxy sunucuları HTTP ve HTTPS trafiğini yakalayıp iletebilir. Bu proxy'lere erişim için çoğu zaman kimlik doğrulama gerekir.

Proxy URL biçimi

İsteğe bağlı kimlik doğrulama da dahil olmak üzere standart proxy URL biçimi şudur:

protocol://[user:password@]host:port

  • protocol: http veya https
  • user:password: proxy kimlik doğrulaması için isteğe bağlı kimlik bilgileri.
  • host: proxy sunucusunun hostname'i veya IP adresi.
  • port: proxy sunucusunun dinlediği port (örneğin 8080, 3128).

Örnek: http://user:[email protected]:8080

Ortam değişkenleri

Paket yöneticileri dahil olmak üzere çeşitli araçlarda proxy yapılandırmanın en yaygın ve genellikle evrensel olarak tanınan yöntemi standart ortam değişkenleridir.

  • HTTP_PROXY veya http_proxy: HTTP istekleri için proxy sunucusunu belirtir.
  • HTTPS_PROXY veya https_proxy: HTTPS istekleri için proxy sunucusunu belirtir.
  • NO_PROXY veya no_proxy: proxy'yi atlaması gereken hostname, alan adı veya IP adreslerinin virgülle ayrılmış listesi. Dahili kaynaklara veya yerel geliştirme sunucularına doğrudan erişmek için kritik önemdedir.

Bu değişkenler Windows'ta genellikle büyük/küçük harfe duyarsızdır, ancak Unix benzeri sistemlerde duyarlıdır. Azami uyumluluk için hem UPPER_CASE hem de lower_case sürümlerini tanımlamak yaygın bir uygulamadır.

# Example for Unix-like systems (Linux, macOS)
export HTTP_PROXY="http://user:[email protected]:8080"
export HTTPS_PROXY="http://user:[email protected]:8080" # Genellikle HTTP_PROXY ile aynıdır
export NO_PROXY="localhost,127.0.0.1,.internal.domain.com"

# For Windows Command Prompt
set HTTP_PROXY=http://user:[email protected]:8080
set HTTPS_PROXY=http://user:[email protected]:8080
set NO_PROXY=localhost,127.0.0.1,.internal.domain.com

# For Windows PowerShell
$env:HTTP_PROXY="http://user:[email protected]:8080"
$env:HTTPS_PROXY="http://user:[email protected]:8080"
$env:NO_PROXY="localhost,127.0.0.1,.internal.domain.com"

npm (Node Package Manager)

npm, kendi yerleşik yapılandırma sistemi veya ortam değişkenleri ile yapılandırılabilir.

npm config ile yapılandırma

npm için tercih edilen yöntem, proxy ayarlarını doğrudan kendi yapılandırmasında tanımlamaktır. Bu, ayarları kalıcı olarak saklar.

# Set HTTP proxy
npm config set proxy http://user:[email protected]:8080

# Set HTTPS proxy (often the same as HTTP proxy)
npm config set https-proxy http://user:[email protected]:8080

# To unset a proxy
npm config rm proxy
npm config rm https-proxy

# Verify settings
npm config get proxy
npm config get https-proxy

Proxy'niz kimlik doğrulama gerektirmiyorsa user:password@ bölümünü çıkarın.

SSL sertifikası sorunları

Bir HTTPS proxy kullanırken veya bir HTTP proxy üzerinden HTTPS registry'ye bağlanırken npm, SSL sertifikası doğrulama sorunlarıyla karşılaşabilir. Bu durum, proxy HTTPS trafiğini yakalayıp sisteminizin güvenmediği kendi sertifikasıyla yeniden şifrelediğinde ortaya çıkar.

Bunu çözmek için şunları yapabilirsiniz:
1. Proxy'nin CA sertifikasını sisteminizin güven deposuna ekleyin. Önerilen güvenli yaklaşım budur.
2. npm'e belirli bir CA sertifika dosyasını kullanmasını söyleyin:
bash npm config set cafile /path/to/proxy/ca-certificate.pem
3. Katı SSL doğrulamasını kapatın (üretim için önerilmez):
bash npm config set strict-ssl false
Bu, sertifika doğrulamasını atlar ve sizi man-in-the-middle saldırılarına açık hale getirebilir. Yalnızca kontrollü ortamlarda geçici hata ayıklama için kullanın.

Registry yapılandırması

Kuruluşunuz doğrudan ya da farklı bir proxy üzerinden erişilen özel bir npm registry (örneğin Nexus, Artifactory) kullanıyorsa registry ayarının doğru olduğundan emin olun.

npm config set registry https://my-private-registry.example.com/npm/

pip (Python Package Installer)

pip; komut satırı bayrakları, ortam değişkenleri veya bir yapılandırma dosyası üzerinden proxy yapılandırmasını destekler.

Komut satırı bayrağı

Tek bir pip komutu için --proxy bayrağını kullanın:

pip install some-package --proxy http://user:[email protected]:8080

Yapılandırma dosyası

Kalıcı proxy ayarları için pip yapılandırma dosyasını değiştirin veya oluşturun.
* Linux/macOS: ~/.config/pip/pip.conf veya ~/.pip/pip.conf
* Windows: %APPDATA%\pip\pip.ini veya %HOME%\pip\pip.ini

[global] bölümüne şunu ekleyin:

# ~/.config/pip/pip.conf or %APPDATA%\pip\pip.ini
[global]
proxy = http://user:[email protected]:8080

Ortam değişkenleri

pip, standart HTTP_PROXY, HTTPS_PROXY ve NO_PROXY ortam değişkenlerine uyar. Tanımlıysalar otomatik olarak kullanılır.

export HTTP_PROXY="http://user:[email protected]:8080"
export HTTPS_PROXY="http://user:[email protected]:8080"
export NO_PROXY="localhost,127.0.0.1,.internal.domain.com"
pip install some-package

SSL sertifikası sorunları

npm'e benzer şekilde pip de SSL hatalarıyla karşılaşabilir.
1. Proxy'nin CA sertifikasını sistemin güven deposuna ekleyin.
2. İndeks için güvenilir bir host belirtin:
ini # ~/.config/pip/pip.conf or %APPDATA%\pip\pip.ini [global] trusted-host = pypi.org
Bu, SSL doğrulaması başarısız olsa bile pip'in belirtilen host'a güvenmesini sağlar. Dikkatli kullanın.
3. Özel bir CA paketi belirtin:
ini # ~/.config/pip/pip.conf or %APPDATA%\pip\pip.ini [global] cert = /path/to/proxy/ca-bundle.pem
Veya komut satırından: pip install some-package --cert /path/to/proxy/ca-bundle.pem

Özel paket indeksleri

Özel bir Python paket indeksi (örneğin Artifactory, Nexus) kullanıyorsanız index-url veya extra-index-url ayarını yapılandırın:

# ~/.config/pip/pip.conf or %APPDATA%\pip\pip.ini
[global]
index-url = https://my-private-pypi.example.com/simple/

Composer (PHP Dependency Manager)

Composer proxy yapılandırması için büyük ölçüde ortam değişkenlerine dayanır ve Git üzerinden alınan depolar için Git'in proxy ayarlarına da ihtiyaç duyabilir.

Ortam değişkenleri

Composer öncelikle standart HTTP_PROXY, HTTPS_PROXY ve NO_PROXY ortam değişkenlerini kullanır.

export HTTP_PROXY="http://user:[email protected]:8080"
export HTTPS_PROXY="http://user:[email protected]:8080"
export NO_PROXY="localhost,127.0.0.1,.internal.domain.com"
composer install

Composer yapılandırması (config.json)

Composer'ın genel HTTP/HTTPS trafiği için config.json içinde doğrudan bir proxy ayarı bulunmasa da, ortam değişkenleri tarafından kapsanmayan ya da farklı proxy gereken belirli VCS depoları için proxy ayarlarını yapılandırmak mümkündür.

Örneğin, Git için bir proxy yapılandırmak üzere:

{
    "config": {
        "github-oauth": {
            "github.com": "YOUR_OAUTH_TOKEN"
        }
    }
}

Bu doğrudan bir proxy ayarı değildir, ancak ağla ilgili diğer yapılandırmaların nereye yazılabileceğini gösterir. Gerçek Git proxy'lemesi için sonraki bölüme bakın.

Git proxy yapılandırması

Composer paketleri çoğu zaman doğrudan Git depolarından (örneğin GitHub, GitLab) alır. Git trafiğinizin bir proxy üzerinden geçmesi gerekiyorsa Git'in kendisini yapılandırmalısınız.

# Set HTTP proxy for Git
git config --global http.proxy http://user:[email protected]:8080

# Set HTTPS proxy for Git
git config --global https.proxy http://user:[email protected]:8080

# To unset
git config --global --unset http.proxy
git config --global --unset https.proxy

# Verify
git config --global --get http.proxy
git config --global --get https.proxy

composer.json dosyanız vcs depolarını veya doğrudan Git URL'lerini kullanıyorsa bu özellikle önemlidir.

SSL sertifikası sorunları

Composer da diğer araçlar gibi SSL sorunlarıyla karşılaşabilir.
1. Proxy'nin CA sertifikasını sistemin güven deposuna ekleyin.
2. Git'i SSL doğrulamasını kapatacak şekilde yapılandırın (önerilmez):
bash git config --global http.sslVerify false
Bu son çare olmalı ve son derece dikkatli kullanılmalıdır.

Yaygın proxy sorunlarını giderme

  • Yanlış proxy adresi/portu: hostname'i, IP adresini ve portu iki kez kontrol edin. Yaygın bir hata, HTTPS proxy için HTTP kullanmak veya tersidir.
  • Kimlik doğrulama hatası: proxy URL'sindeki kullanıcı adı ve parolanın doğru olduğundan ve özel karakter içeriyorsa URL kodlamalı olduğundan emin olun.
  • SSL sertifika hataları: SSL_ERROR_SYSCALL, certificate verify failed veya benzer hatalarla karşılaşıyorsanız proxy'niz SSL yakalama yapıyor olabilir. Proxy'nin kök CA sertifikasını sisteminizin güven deposuna kurun ya da paket yöneticisini belirli bir CA paketine güvenecek şekilde yapılandırın (yukarıda anlatıldığı gibi).
  • NO_PROXY sorunları: dahili servisler hâlâ proxy üzerinden geçmeye çalışıyorsa NO_PROXY ayarınızın doğru ve kapsamlı olduğunu doğrulayın. localhost, 127.0.0.1 ve ilgili tüm dahili alan adı soneklerini içerdiğinden emin olun.
  • Güvenlik duvarı engeli: makinenizin güvenlik duvarının veya ağ güvenlik gruplarının proxy sunucusunun IP ve portuna giden bağlantılara izin verdiğini doğrulayın.
  • Karışık HTTP/HTTPS yapılandırması: bazı proxy'ler HTTP ve HTTPS'i farklı şekilde işler. Gerekiyorsa hem HTTP_PROXY hem de HTTPS_PROXY değişkenlerini ya da paket yöneticisine özgü karşılıklarını yapılandırdığınızdan emin olun.

Proxy yapılandırma yöntemlerinin karşılaştırması

Özellik / Yönetici npm pip composer
Ortam değişkenleri Evet (HTTP_PROXY, HTTPS_PROXY) Evet (HTTP_PROXY, HTTPS_PROXY) Evet (HTTP_PROXY, HTTPS_PROXY)
Özel yapılandırma komutu npm config set proxy Proxy için doğrudan komut yok Proxy için doğrudan komut yok
Yapılandırma dosyası konumu ~/.npmrc ~/.config/pip/pip.conf / %APPDATA%\pip\pip.ini composer.json içinde doğrudan proxy ayarı yok
Komut satırı bayrağı Doğrudan proxy bayrağı yok --proxy Doğrudan proxy bayrağı yok
URL içinde kimlik doğrulama Evet Evet Evet
SSL sertifikası yönetimi cafile, strict-ssl cert, trusted-host Sistem/Git yapılandırmasına dayanır
Git proxy bağımlılığı Doğrudan bağımlılık yok Doğrudan bağımlılık yok Evet (git config ile)
Registry URL ayarı registry index-url, extra-index-url repositories (composer.json içinde)
Güncellendi: 04.03.2026
Kategoriye dön

Bunları da okuyun

Guides 2 dk

Nike SNKRS için Proxy: Sınırlı Sürümler ve Çoklu Katılım

Nike SNKRS'ta birden fazla hesapla çekilişlere katılmak, IP limitlerini aşmak ve ban yemeden sınırlı sürümleri kapmak için residential veya mobil proxy kullanın. Hangi türü seçmeli ve nasıl kurmalı.

Guides 2 dk

iPhone'da Proxy Nasıl Kurulur (Wi-Fi ve SOCKS5)

iPhone'da proxy'yi yerleşik Wi-Fi ayarlarından (HTTP/HTTPS) veya SOCKS5 ile hücresel kapsama için Shadowrocket gibi bir uygulamayla kurun. Adım adım iOS kurulumu ve bilinmesi gereken kısıtlar.

Guides 3 dk

Tinder için proxy: çoklu hesap ve ban'lerden kaçınma

Birden fazla profil işletmek ve IP shadowban'lerinden kaçınmak için Tinder'da mobil veya residential proxy kullanın. Mobilin neden kazandığı, kurulumu ve proxy'nin şehri neden değiştirmediği.

Guides 2 dk

StockX için proxy: fiyat takibi ve hesap yönetimi

StockX'te fiyatları izlemek, birden fazla hesap çalıştırmak ve drop'ları yasaklanmadan kapmak için residential, ISP veya mobil proxy kullanın. Hangi türü seçeceğinizi ve nasıl kuracağınızı anlatıyoruz.

Guides 3 dk

OpenAI API için Proxy: Erişim, Hız Limitleri ve Kurulum

OpenAI API'yi residential veya ISP proxy üzerinden yönlendirerek desteklenen bölgelere erişin, 429 hız limitlerinden kaçının ve hesapları izole edin. Hangi proxy'yi seçmeli ve Python kurulum örnekleri.

Guides 1 dk

E2E testleri için Cypress'te proxy kurulumu

Cypress'te proxy kurulumu: HTTP_PROXY değişkenleri, cy-proxy-middleware ve coğrafi konuma bağlı içeriğin test edilmesi.

Proxy'lerimizi deneyin

100+ ülkede 20,000+ proxy

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.