Traefik هو بروكسي عكسي حديث ووكيل موازن تحميل يجعل من السهل نشر الخدمات الصغيرة. يتكامل Traefik مع مكونات البنية التحتية الموجودة لديك (Docker ، وضع Swarm ، Kubernetes ، Marathon ، Consul ، Etcd ، Rancher ، Amazon ECS ، ...) ويتم تكوينه تلقائيًا وديناميكيًا. يجب أن يكون استهداف Traefik على Orchestrator خطوة التكوين الوحيدة التي تحتاجها. هذا التكوين هو A +. اختبر إعداداتك هنا في SSLlabs.
قم بإنشاء docker-compose.yml ، و tryfik.toml و acme.json في نفس الدليل أو تغيير مساراتك في قسم الصوت.
ملاحظة
تأكد من تمكين حماية المصادقة الأساسية لـ Traefik أو تعطيل لوحة التحكم الخاصة به. خلاف ذلك ، سيتم الوصول إلى لوحة التحكم الخاصة بك من الإنترنت.
$ sudo apt install apache2-utils$ echo $ (htpasswd -nb username mystrongpassword) | sed -en / \ N$ / N-$ / g
يفلت هذا الأمر تلقائيًا من جميع $s داخل كلمة مرور ملف YML. إذا تم استخدام ملف بيئة ، فلن تحتاج إلى $ للهروب لأنه لن يتم تفسيره بواسطة الصدفة.
عامل ميناء دوكر
الإصدار: $00273.5$0027 الخدمات: tryfik: container_name: image tryfik: شبكات getfik: v1.7: - portlets .sock - ./traefik.toml:/traefik.toml - ./acme.json:/acme.json العلامات: tryfik.enable: "true" tryfik.backend: جلب getfik.frontend.rule: المضيف: tryfik.example.com ، tryfik.frontend.entryPoints: https: getfik.frontend.passHostHeader: "true" .example.com tryfik.frontend.headers.SSLRedirect: "true" tryfik.frontend.headers.browserXSSFilter: "true" frontend.headers.STSSeconds: 315360000 headers.del.frontend.traefik.STSIncludeSubdomains: "true" oindex و nofollow و nosnippet و noarchive و notranslate و noimageindex tryfik.frontend.headers.frameDeny: "true" tryfik.frontend.headers. / jellyfin container_name: jellyfin network_mode: مجلدات "المضيف": - / path / to / config: / config - / path / to / cache: / cache - / path / to / media: / media reset: only-stopnetworks: tryfik: الاسم: بروفيك
لا يمكن لملف TOML دعم متغيرات البيئة ، لذلك لا تحاول استخدام المتغيرات.
تحذير
نظرًا لوجود خطأ في Traefik ، لا يمكن توجيه الحاويات ديناميكيًا عند network_mode = host ، لذلك أنشأنا مسارًا ثابتًا إلى مضيف عامل إرساء (172.17.0.1:8096) في getfik.toml. يعد استخدام الشبكات المضيفة (أو macvlan) ضروريًا لاستخدام DLNA أو HdHomeRun لأنه يدعم شبكات البث المتعدد.
getfik.toml
logLevel = "WARN" defaultInputpoints = ["http"، "https"] [entryPoints] [entryPoints.http] address = ": 80" [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] العنوان = ": 443" [entryPoints.https. TLS] minVersion = "VersionTLS12" مجموعات تشفير = [ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305" "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305" "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"] [إعادة المحاولة] [المعهد] [قمة ] acmeLogging = trueemail = "user@example.com" storage = "acme.json" entryPoint = "https" [acme.dnsChallenge] Provider = "Provider" delayBeforeCheck = "60" [[acme.domains]] main = "* .example.com "[docker] domain =" example.com "network =" tryfik "يتعرض حسب الافتراضي = false [file] [backends] [backends. backend-jellyfin] [backends.backend-jellyfin.servidores] [backends.backend-jellyfin.servidores.servidor-1] url = "http://172.17.0.1:8096""frontends] [frontends.jellyfin] backend =" backend-jellyfin "passHostHeader = true [frontends.jellyfin.rutas] [frontends.jellyfin.rutas.route-jellyfin-ext] Rule =" Host: jellyfin.example.com "[frontends.jellyfin.headers] SSLRedirect = صحيح SSLHost = "jellyfin.example.com" SSLForceHost = true STSSeconds = 315360000 STSIncludeSubdomains = true STSPreload = true forceSTSHeader = true frameDeny = true contentTypeNosniff = true browserXSSFilter = true customResponseHeaders = noindex ، noindex ، noindex ، noindex ، noimageindex "customFrameOptionsValue =" allow-from https://example.com "
أخيرًا ، أنشئ ملف acme.json فارغًا للتعامل مع الشهادة.
$ touch acme.json $ chmod 600 acme.json
تحذير
قم بتغيير example.com إلى اسم المجال الخاص بك وقم بتحديث ملف acme.json بعنوان بريدك الإلكتروني. لا يتطلب تشفير Let$0027s بريدًا إلكترونيًا صالحًا ولكن سيتم وضع علامة false.com على example.com.
تطلق خدمات Traefik و Jellyfin.
إرساء $ - تكوين - د
تهانينا ، مجموعتك مع Traefik و Jellyfin قيد التشغيل!
انتقل إلى المجال الذي استخدمته سابقًا في ملف التكوين وسيتم تشغيل خادم Jellyfin مع تنشيط HTTPS (AES 256).
المحتويات