Ana içeriğe atla

HTTPS ve Örgü

PC yazıcı sürücüsü, HTTPS’yi Caddy aracılığıyla ve PeerJS sinyalini /mesh aracılığıyla açığa çıkarabilir.

HTTPS Koşullar

HTTPS yalnızca bunların tümü doğru olduğunda başlar:
  • features.httpsEnabled, true’dir.
  • caddy.enabled, true’dir.
  • Çalışma zamanı platformu Windows’tur.
  • Sertifikalar assets/certs’de mevcuttur.
  • Caddy kurulabilir veya yeniden kullanılabilir.
HTTPS kurulumu başarısız olursa sürücü hatayı günlüğe kaydeder ve HTTP ile devam eder.

Sertifika Dosyaları

Gerekli dosyalar:
assets/certs/ca.crt
assets/certs/server.crt
assets/certs/server.key
Sürücü bunları Caddy çalışma klasörüne kopyalar:
assets/caddy/ca.crt
assets/caddy/server.crt
assets/caddy/server.key
CA sertifikası şu adresten indirilebilir:
http://<driver-ip>:8080/ca.crt

Caddy Kurulumu

Caddy kurulumu şu sırayı kullanır:
  1. Zaten .installed ile yüklenmişse assets/caddy/bin/caddy.exe’yi yeniden kullanın.
  2. Paketlenmiş caddy.exe’yi bilinen yerel yollardan kopyalayın.
  3. GitHub sürümü URL’den Caddy’yi indirin.
Yapılandırılmış Caddy sürümü varsayılan olarak 2.6.4’dir.

Oluşturulan Caddy dosyası

Sürücü şöyle bir Caddy dosyası yazar:
{
  auto_https disable_redirects
}

plato-printer.local {
  reverse_proxy localhost:8080

  handle /mesh/* {
    reverse_proxy localhost:8080 {
      header_up Connection {http.request.header.Connection}
      header_up Upgrade {http.request.header.Upgrade}
    }
  }

  tls "assets/caddy/server.crt" "assets/caddy/server.key"
}
caddy.httpsPort, 443 değilse site adresi bağlantı noktasını içerir.

Caddy Çalışma Zamanı

Caddy aşağıdakilerle bir alt süreç olarak çalışır:
  • XDG_DATA_HOME, assets/caddy/data olarak ayarlandı
  • XDG_CONFIG_HOME, assets/caddy/config olarak ayarlandı
  • çalışma dizini assets/caddy olarak ayarlandı
Caddy beklenmedik bir şekilde çıkarsa sürücü 2000ms gecikmeyle 5 defaya kadar yeniden dener.

Örgü Sinyali

features.meshEnabled doğru olduğunda sürücü PeerJS’yi şu konumda bağlar:
ws://<driver-host>:8080/mesh
wss://plato-printer.local/mesh
GET /mesh-status şunu döndürür:
  • Mesh’in etkin olup olmadığı
  • örgü yolu
  • liman
  • bağlı eş kimlikleri
  • akran sayısı
Mesh yalnızca sinyal veriyor. Yazdırma işleri hâlâ HTTP uç noktalarını kullanıyor.

Yaygın HTTPS Sorunları

BelirtiMuhtemel NedenDüzeltmek
Tarayıcı HTTPS sürücüsünü URL engelliyorCA sertifikasına güvenilmiyorca.crt’yi POS cihazına yükleyin.
https://plato-printer.local çözümlenmiyorDNS/ana bilgisayarlar eksikSürücü IP’sine yerel DNS veya ana bilgisayar girişi ekleyin.
Bağlantı noktası 443 kullanılamıyorBaşka bir hizmet bunu kullanıyorDiğer hizmeti durdurun veya caddy.httpsPort’yi değiştirin.
HTTPS, macOS/Linux’ta atlandıKod yalnızca Windows’a yöneliktirHTTP’yi geliştirme aşamasında kullanın veya Caddy’yi ayrı olarak test edin.
Windows 7 başlatma hatasıCaddy versiyonu 2.6.4 değilcaddy.version’yi tekrar 2.6.4’ye ayarlayın.