এনজিআইএনএক্স খোলা () ব্যর্থ হয়েছে (20: ডিরেক্টরি নয়) সুরক্ষিত লিঙ্ক মডিউল সহ hls ভোড


14

এইচএলএস স্ট্রিমিংয়ের জন্য আমার nginx কনফিগারেশনে সমস্যা আছে। আমি কলতুরা এনগিনেক্স ভোড মডিউল ব্যবহার করি এবং ngx_http_secure_link_moduleপ্রবাহটি সুরক্ষিত করতে যুক্ত করার চেষ্টা করি । আশ্চর্যের বিষয় হ'ল আমি সক্ষম হয়ে থাকলে আমার 404 ত্রুটি রয়েছে ngx_http_secure_link_module(নীচের লগগুলি)। আমি মনে করি এটি কারণ কারণ এটি শেষে index.m3u8 সহ কোনও ফাইল খুঁজে পাচ্ছে না, তবে আমি যদি সুরক্ষিত লিঙ্ক ব্লকটি মন্তব্য করি তবে এটি ভাল কাজ করে।

এছাড়াও আমি location ~ \.m3u8$ {}ব্লকের ভিতরে ওরফে যুক্ত করার চেষ্টা করেছি , তবে এটি কার্যকর হয়নি। আমি কি ভুল করছি? কীভাবে আমার স্রোত রক্ষা করবেন?

আমার স্ট্রিম লিঙ্ক: https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340

আমার এনজিআইএনএক্স কনফিগারেশন:

server {
  listen 9000;
  server_name localhost;
  # root /srv/static;

  location ^~ /hls/ {
    # the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file
    alias /srv/static/videos/1/;
    # file with cors settings
    include cors.conf;

    vod hls;

    # 1. Set secret variable
    set $secret "s3cr3t";

    # 2. Set secure link
    secure_link $arg_md5,$arg_expires;
    secure_link_md5 "$secure_link_expires $secret";

    # if I comment this block everything works fine (but security)
    location ~ \.m3u8$ {
      if ($secure_link = "") { return 403; }
      if ($secure_link = "0") { return 403; }
    }
  }
}

এনজিআইএনএক্স লগগুলি:

cmdlogs

উত্তর:


1

এই ব্লকটিকে কেবল সার্ভার ডিরেক্টরিতে স্থানান্তরিত করে vod hls;ভিতরে .ুকিয়ে দেওয়া হয়েছে।

location ~ \.m3u8$ {
  include cors.conf;
  vod hls;

  if ($secure_link = "") { return 403; }
  if ($secure_link = "0") { return 403; }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.