Başlangıç
Bu rehber kurulu bir r3v3rs3 ile çalışan bir proxy kurar. Birkaç dakika sürer.
Önce r3v3rs3'ü kurun. Ana sayfa bütün yolları listeler: Linux kurulum script'i, Docker, Docker Compose, Cargo ve release arşivleri.
Adım 1: Admin hesabı oluşturun
r3v3rs3 hiç hesap olmadan başlar. Komut satırından bir hesap oluşturun. Komut parolayı sorar, parola en az 8 karakter olmalıdır:
$ r3v3rs3 add-user admin
$ password?: ******
İki faktörlü doğrulama için --totp ekleyin. Komut secret'ı bir kez yazar. O anda authenticator uygulamanıza ekleyin:
$ r3v3rs3 add-user admin --totp
$ password?: ******
Use this code to setup your TOTP client:
EXAMPLECODEEXAMPLECODE
add-user bir admin hesabı oluşturur. Hesaplar sayfası editor ve viewer rollerini ve hesap başına proxy listelerini anlatır.
Adım 2: Sunucuyu başlatın
$ r3v3rs3 start
Yönetim paneli http://localhost:46492/ adresinde dinler. Adım 1'deki hesapla giriş yapın.
Panel düz HTTP sunar. Uzak bir makinede panelin portunu internete açmak yerine SSH port forwarding ile bağlanın:
$ ssh -L 46492:127.0.0.1:46492 kullanici@sunucunuzAdım 5, paneli r3v3rs3 üzerinden HTTPS ile sunmayı anlatır.
Adım 3: Port bağlayın
Bir proxy'nin, client'ları dinleyen bir porta ihtiyacı vardır.
- Menüde Portlar linkine tıklayın.
- Ekle butonuna tıklayın.
- Porta bir ad verin, örneğin
Web Sitem. Ad boş kalabilir. - Network Interface'ini seçin.
0.0.0.0bütün interface'leri dinler. - Portu seçin, örneğin
80. Portu başka bir programın kullanmadığından ve bu portu bağlama izniniz olduğundan emin olun. Linux'ta 1024 altındaki bir port root veyaCAP_NET_BIND_SERVICEcapability'si ister. - Protokolü seçin. Bu örnek HTTP kullanır.
- Oluştur butonuna tıklayın.
- Portun listede Dinliyor durumuyla göründüğünü kontrol edin. Başka bir durum nedeni söyler, örneğin Adres Kullanımda veya İzin Reddedildi.
Adım 4: Proxy oluşturun
- Menüde Proxy'ler linkine tıklayın.
- Ekle butonuna tıklayın.
- Proxy'ye bir ad verin, örneğin
Web Sitem. Ad boş kalabilir. - Protokol olarak HTTP / HTTPS seçin.
- Adım 3'teki portu seçin. Bir proxy birkaç port kullanabilir.
- Bütün host'larla eşleşmesi için Virtual Host'lar alanını boş bırakın.
example.comgibi bir değer yalnız o host ile eşleşir. - Hedef alanına uygulamanızın adresini yazın, örneğin
http://127.0.0.1:3000. - Oluştur butonuna tıklayın.
- Proxy'nin listede göründüğünü kontrol edin. Proxy hemen çalışır.
Adım 3'teki porta bir request gönderin. Cevap uygulamanızdan gelir:
$ curl -i http://127.0.0.1/
502 Bad Gateway cevabı, r3v3rs3'ün hiçbir upstream sunucuya ulaşamadığı anlamına gelir. Hedef adresini ve uygulamanızı kontrol edin.
Adım 5: Sertifika ekleyin
Herkese açık bir site HTTPS ister. r3v3rs3 sertifikaları bir ACME sunucusundan, örneğin Let's Encrypt'ten alır.
- HTTPS protokolü ile ikinci bir port bağlayın, örneğin
443. - Menüde Sertifikalar linkine, sonra ACME sekmesine, sonra Ekle butonuna tıklayın.
- Sağlayıcıyı seçin, e-posta adresinizi ve domain adlarını yazın.
- Challenge'ı seçin. HTTP-01, internetin eriştiği bir
80portu ister. DNS-01 hiçbir açık port istemez ve wildcard sertifika verir. - Oluştur butonuna tıklayın. Order hemen ve sonra her gün çalışır.
- HTTPS portunu proxy'nize ekleyin ve domain adını Virtual Host'lar alanına yazın.
Sertifikalar ve ACME bölümleri her alanı anlatır.
Sonraki adımlar
- Config: routing, load balancing, cache, kimlik doğrulama, rate limit ve diğer bütün proxy ayarları.
- Hesaplar: roller, proxy listeleri ve audit log.
- Servis keşfi: Docker label'ları, Kubernetes, Consul ve etcd'den gelen proxy'ler.
- Yüksek erişilebilirlik: tek bir state paylaşan birkaç node.