- Geliştirme aşamasındaki web uygulamaları için
localhost:4333 gibi portları ezberlemeden, appname.localhost gibi basit adreslerle erişim sağlamayı mümkün kılan kurulum deneyimi paylaşılıyor
- Bu sistem kullanıldığında yerel web uygulamalarına erişim çok daha sezgisel ve düzenli hale geliyor
- Her uygulama kendi benzersiz portunda
launchd daemon olarak çalıştırılıyor
/etc/hosts dosyasında appname.localhost, 127.0.0.1 adresine yönlendiriliyor
- Örnek:
127.0.0.1 inclouds.localhost
- Caddy ile ilgili alan adı uygun porta proxy ediliyor
Caddy yapılandırma örneği
inclouds.localhost {
reverse_proxy localhost:5050
tls internal
encode gzip zstd
}
- Her
.localhost alan adı için Caddyfile içinde ilgili porta proxy ayarı yazılıyor
- Dahili TLS sertifikaları ve sıkıştırma desteği de buna dahil
Gelecekteki iyileştirme fikirleri
- Şu anda üç dosyayı (
/etc/hosts, Caddyfile, launchd plist) elle düzenlemek gerekiyor
- Gelecekte, uygulamaları
.localhost alan adına tek komutla kurup kaldıran bir otomasyon aracı oluşturmak hedefleniyor
Güncelleme
- Cristóbal, dnsmasq tabanlı bir komut önererek bu süreci daha da kolaylaştırdı
- Temel fikir şu şekilde:
- Tüm
*.localhost adreslerini 127.0.0.1 adresine yönlendirmek
127.0.0.1 üzerinde belirli portlara reverse proxy yapan bir sunucu yapılandırmak
dnsmasq ile yönlendirme ayarlamak
Caddy ve localhost betiğiyle reverse proxy ayarlamak
Gerçek çalışma testi
2 yorum
Ben, dış ağa erişilememe durumu yoksa NIP.IO gibi wildcard DNS kullanırım.
Hacker News görüşleri
Tarayıcılar .localhost alan adı için güvenli bağlam sağlar
nginx yerel geliştirme yapılandırma snippet'i basittir
Chrome ve Firefox varsayılan olarak tüm <name>.localhost alan adlarını localhost olarak çözümler
Localias projesi yerel web geliştirme için kullanışlıdır
.localhost alt alan adları Linux, OpenBSD gibi sistemlerde varsayılan olarak çalışır
Caddy kullanılıyorsa, satın alınmış bir alan adı ve DNS-01 challenge kullanmak iyi bir seçenektir
Kişisel ağında vanity domain kullananlar da var
Her yerel olarak barındırılan uygulamaya ayrı bir IP adresi atanabilir
Linux sistemlerinde bu, varsayılan olarak systemd-resolved üzerinden çalışır