พร็อกซีย้อนกลับแบบง่าย ๆ พร้อม Traefik


10

ปัจจุบันฉันใช้ Apache เป็นพร็อกซีสำหรับคอนเทนเนอร์ LXD ของฉันโดยใช้การตั้งค่าประเภทนี้:

<VirtualHost *:80>
    ServerName example.com
    ProxyRequests off
    ProxyPass / http://10.0.0.142/ retry=0
    ProxyPassReverse / http://10.0.0.142/
    ProxyPreserveHost On
</VirtualHost>

ผมอยากจะเปลี่ยนไปtraefik ฉันได้ลองกำหนดค่านี้:

defaultEntryPoints = ["http"]
[entryPoints]
  [entryPoints.http]
  address = ":80"

[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
       url = "http://10.0.0.142"

[frontends]
  [frontends.frontend1]
      backend = "backend1"
      passHostHeader = true
      [frontends.frontend1.routes.example]
          rule = "Host:example.com"
  • สองสิ่งนี้เทียบเท่ากันหรือไม่
  • การกำหนดค่า Traefik สามารถลดความซับซ้อนได้หรือไม่? (ลบกฎที่ไม่จำเป็น)

(หมายเหตุ: ฉันไม่ได้วางแผนที่จะใช้นักเทียบท่าและฉันไม่ต้องการ)

คำตอบ:


19

คุณไม่มีคำนิยามประเภทแบ็กเอนด์ (ไฟล์, Docker, Swarm ... )

ในกรณีของคุณเพียงแค่เพิ่ม (หรือ uncoment) " [file] " ในไฟล์ conf ของคุณเช่นนั้น:

defaultEntryPoints = ["http"]
[entryPoints]
  [entryPoints.http]
  address = ":80"

[file]

[backends]
  [backends.backend1]
    [backends.backend1.servers.server1]
       url = "http://10.0.0.142"

[frontends]
  [frontends.frontend1]
      backend = "backend1"
      passHostHeader = true
      [frontends.frontend1.routes.example]
          rule = "Host:example.com"

2
ดังนั้นจำเป็นต้อง [ไฟล์]? ฉันไม่พบอะไรเกี่ยวกับเรื่องนั้น ทำไมถึงเป็นเช่นนั้น?
lepe

1
ใช่คือถ้าคุณเพียงต้องการสร้างกฎแบบคงที่ในไฟล์กำหนดค่าด้วยตนเอง คุณสามารถอ้างถึงเอกสาร: https://docs.traefik.io/toml/#file-backend
Benjamin OLIVIER

ตกลง. เข้าใจแล้ว ขอบคุณ! (คุณจะคิดที่จะ upvote คำถามของฉันไม่แน่ใจว่าทำไมมันถูก downvoted?)
Lepe

1
คำถามที่ดีมีติดอยู่เป็นเวลาหนึ่งชั่วโมง ...
andig

อัปเดตลิงก์หมอ: docs.traefik.io/configuration/backends/file
SeanDowney
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.