تخطى الى المحتوى

وكيل ترافيك العكسي

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).