سلام
قصد دارم فایلهای زیاد و حجیمی رو از طریق اینترنت بفروش برسونم. هزینه ی ارتقا حجم فعلی وبسایتم که یک گیگ هست هم به نسبت فایلهای موجودم خیلی بالا میره و با بررسی هایی که داشتم با هاست دانلودی آشنا شدم و تا به حال تجربه مواجه باهاش رو نداشتم.
مشورتی که با فروشنگان هاست دانلودی داشتم بهم گفتن هاستی که ازشون خریداری میکنم میتونه به عنوان یک زیردامنه از دامنه فعلی وبسایتم محسوب بشه.
درحال حاضر ایمن سازی آدرس فایلها برای دانلود رو طبق آموزش ارائه شده در دوره آموزشی "دریافت فایل به ازای پرداخت با لاراول" آقای موسوی @hesammousavi ساختم برای زرین پال.
این این توضیحات دوستان اگه پیشنهادی برای بهتر انجام شدن کار دارید ممنونم میشم ارائه کنید. چه در خصوص هاست دانلودی و چه در خصوص ایمن سازی آدرسهای دانلود.
سپاس
سلام اول بزارید چیزی رو شفاف بگم ما چیزی به نام هاست دانلود نداریم تو دنیا تا اونجای که من دیدم . در اصل همین هاست های معمولین که چیزی اصلا روی بیشترشون نصب نیست وگرنه تفاوتی نداره هاست دانلود با هاست معمولی .
شرکت های که هاست دانلود ارائه میدن در اصل در فضای اشتراکی هست که منابع مورد استفاده کاربرها هم به اشتراک گذاشته میشه، مثل اشتراکی بودن استفاده رم ، cpu . که کلا من به هیچ کسی هاست های اشتراکی رو پیشنهاد نمیکنم
اگر هزینه سرور براتون خیلی مهم نیست بنظرم سرور های مجازی بگیرین تا دستتون کاملا باز باشه تو همه چی .
سلام
@hesammousavi
جناب موسوی عزیز که نه هاست رو قبول دارن ، نه هاست اشتراکی رو قبول دارن ، نه هاست دانلود رو قبول دارن
و میگن اصلا همچین چیزی وجود نداره
یه توضیح ریز بدم ، چون من کار کردم و کانفیگ کردم بودم و هستم تو این فضا !! فضای استوریج توی همه دیتا سنتر ها به فروش میرسه
یعنی یه سرور با منابع بسیار بالا از لحاظ حجمی و ترافیکی ، ایرانی های عزیز اومدن به قول معروف بومی سازی کردن اسمش رو گذاشتم هاست دانلود یا هاست فایل که چی ؟ که فضای فقط و فقط برای نگه داری فایل باشه ، فارق از کانفیگ دیتابیس ، کانفیگ وب سرور ، موارد ایمیل و خیلی موارد دیگه!!
جناب موسوی نظرشون فقط روی سرور هست ، بله ، سرور که آدم بگیره بسیار هم مناسبه
اما با این شرایط ارزی و دلاری سرور هزینه های زیادی داره
خود سرور فقط!
شما سرور رو هم که میگیرید ، همینطوری خشک و خالی که نمیشه باید کانفیگ بشه ، کنترل پنل نصب بشه ، همونطوری با اوبونتو و سنت اوس و ویندوز خالی کار کردن ، کار بسیار اشتباهیه! اونا هم هزینه داره
ولی سایتی رو که میشه با ماهی ۳۰
۳۵ هزار تومان راه اندازی کرد ،
با سرور مجازی باید ماهی ۲۰۰ تا ۲۵۰ هزار تومان راه اندازی کرد!
راه اندازی ، لایسنس ها ، کانفیگ ، بک آپ گیری ، تمامی این موارد همه هزینه برداره!!
( کمترین حالتش رو گفتم )
نصب کنترل پنل چه در هاستینگ های ایرانی ، چه در خارج از کشور روش مرسومی هست و به صورت اشتراکی که در خارج shared Hosting میگن ، هست و وجود داره !
حق کسی هم پایمال نمیشه در این مورد
نسبت به پولی که میده ، تقسیم بندی منابع از طریق کلود انجام میشه
download storage -- cloud storage --- shared hosting
تمامی این موارد وجود داره و هست ، جز فنون و کار هاستینگ هست !
و اما سوال شما دوست من
@h.qorbani7
اگر سرور یا هاست دارید ، روی سرور یه زیر دامنه درست کنید و فایل هارو بریزید اونجا ( منظورم سروری هست که سایت اصلیتون روشه )
اگر سرور جای دیگه دارید ، به نظرم سیستم عامل ویندوز بریزید که دانلود و آپلود راحت تر بشه و وب سرور IIS کانفیگ کنید و ...
اگر هم سرور هزینه زیاده براتون ، هاست دانلود بهترین گزینه هست!
تمامی این ها بهتون لینک مستقیم میدن که از طریق برنامه نویسی و لاراول میتونید اون لینک مستقیم رو زمان بندی کنید و انکریپت کنید و ...
این مسائل رو روش پیاده سازی کنید
من ی هاست ابری لینوکس دارم با فضای 1 گیگ و برای فایل هایی حجیمی که قصد فروششون رو دارم هم هاست دانلود از ی شرکت دیگه تهیه کردم.ی زیر دامنه ساختمو dns رو ست کردم روی شرکتی که ازش هاست دانلود تهیه کردم.
این اولین تجربه ی من در استفاده از هاست دانلود و زیردامنه به این شکل است. در حال حاضر مستقیما ب فایلهایی که در هاست دانلود بارگزاری میکنم دسترسی دارم اما در کد نویسیم با توجه به شرایط زیر دامنه نمیدونم چطور میتونم دسترسی داشته باشم؟ وجودشون رو چک کنم و یا از Response()->download($file استفاده کنم.
در حال حاضر من با خطای زیر روبرو هستم:
Symfony \ Component \ HttpFoundation \ File \ Exception \ FileNotFoundException
The file "address..." does not exist
در صورتی که وقتی address... رودر مرورگر وارد میکنم واسه دانلود میاد.
سلام
@h.qorbani7
شما باید هاست دانلودی که خریداری میکنید رو ، دامنه اصلیش رو ، ساب دامنه قرار بدید
یعنی هاست دانلود رو اینطوری خرید کنید
dl.domain.com
یا سرور مجازی ویندوز بگیرید که حتی توی دانلود و آپلود و بک آپ گیری هم راحت تر باشید
بعد وقتی فایل میریزید داخل هاست دانلود یا داخل سرور مجازی
فایلتون که قابل دانلود هست به این شکل هست به فرض:
dl.domain.com/files/file.zip
این رو شما باید ببرید تو لاراول ، روش روش هایی قرار بدید
محدودیت دانلود ، کد گزاری
تاریخ انقضا و خیی موارد دیگه که قابل پیاده سازی هست
برای متصل کردن هاست دانلود به هاست اصلی که وب سایت اصلیتون هست روش
باید آیپی رو به سمت ساب دامنه پوینت بدید
که متصل شه
نیازی به تنظیم DNS نیست
وقتی هاست دانلود خریداری کردم. واسم تیکتی اومد و خواسته بود زیر دامنه ای در هاست فعلیم بسازمو بهشون معرفی کنم.
dl.domain.com
بعدش ازم خواسته شد جهت اتصال زیردامنه به هاست دانلود در زون DNS یک رکورد از نوع cname از dl به نشانی که از سمت خودشون ارسال کرده بودند بسازمو چند ساعت بعد dns بروزرسانی شد.
در حال حاضر domain.com ای پی شرکتی که ازش هاست دارم و وبسایتم اونجاست رو نشون میده و dl.domain.com آی پی شرکتی که ازش هاست دانلود تهیه کردم.
فایلها هم به این شکل قابل دانلود هستند:
dl.domain.com/files/file.zip
روشهای محدودیت دانلود و کدگزاری و تاریخ انقضا رو هم پیاده سازی کردمو روی هاستی که وبسایتم رو دارم هم تست کردمو درست عمل میکنه.
در تصور خودم هم این سوال پیش میاد که وقتی ای پی ها متفاوت هستند آیا لاراول میتونه موجود بودن فایل رو در هاست دانلود بسنجه؟ و حس میکنم مشکل کارم همینجاست.
با توجه به توضیحاتی که دادم در مورد انجام نکته ای که در آخر راهنمایی تون فرمودید: "برای متصل کردن هاست دانلود به هاست اصلی که وب سایت اصلیتون هست روش باید آیپی رو به سمت ساب دامنه پوینت بدید" نمیدونم دقیقا چکاری باید انجام بدم؟
سلام
@h.qorbani7
همین که گفتید
در زون DNS یک رکورد از نوع cname از dl به نشانی که از سمت خودشون ارسال کرده بودند بسازمو چند ساعت بعد dns بروزرسانی شد.
حالا ....
از نوع cname نمیزنن
رکورد A با ttl 14400 میزنن! در هر صورت اگر پینگ میگیرید و اوکی هست مشکلی نداره!
شما همونطور که با توابع ریسپانس ، storage ، move to و ... این جور توابع توی لاراول کار میکنید
برای اینم همینه
شما برای دانلود و ساز و کار دانلود همیشه فایل رو پیدا میکنید توی لاراول، و میگید برو به به فرض public_path یا storage_path فایل رو پیدا کن
به اسمش یه تایم استمپ اضافه کن و ...
بفرست برای ریسپانس و دانلود
حالا اینجا شما به جای اون مسیر داخلی
یه مسیر خارجی دارید
که ساز و کار دانلودش رو میتونید پیاده سازی کنید
لینک جنریت کنید و ...!
بجای
return response()->download($file);
اینو گذاشتم:
$tempFile = tempnam(sys_get_temp_dir(), $fileName);
copy($file, $tempFile);
return response()->download($tempFile, $fileName);
میاد واسه دانلود. اما کمی طول میکشه ارتباط برقرار بشه و تنها هم توسط خود مرورگر دانلود میشه و IDM نمیشناسه...
@h.qorbani7
سلام داداش منم دقیقا همین سناریوی تو رو دارم و به مشکل برخوردم.
نمیدونم چیکار باید بکنم.
بحث امنیت هم هست. یعنی امنیت فایل ها رو جوری تضمین کنیم که مستقیم کسی بهشون دسترسی نداشته باشه
هاست من خریدم روی یه دامنه اصلی
حالا یه ساب دامین باید بسازم توی سرور و بیام به ای پی این هاست وصلش کنم.بعد من فیلمام از طریق کنترل پنل خودم اپلود میشه. چجوری باید ادرس بدم. اینجوری باید بیام دستی توی دیتابیس ادرس فایل ها رو بهش بدم ؟
اینم یه مشکل دیگه منه الان
@alif
سلام، آدرس های رمز شده برای هر کاربری که تولید شده رو میشه درون جدولی بنام همون کاربر ذخیره کرد و هربار کاربر برای دانلود مراجعه میکنه آون آدرس در اختیارش قرار بگیرهو البته تا زمانی که اون آدرس برای اون کاربر معتبر باشه.
واسه خور فایلها ک ادرس مشخصی دارند دیگه...همینکه نام فایل و دسته بندی اون جایی ذخیره شده باشه کافیه.
حالا اینکه کاربری برای مدتی اجازه دسترسی ب فایلی رو پیدا خواهد کرد، درواقع برای همون کاربر آدرس فایل بصورت رمز شده و برای مدت زمان مشخص تولید میشه. میتونی این ادرس رو بهمراه آی دی کاربر در جدولی نگهداری کنی و تا زمانی ک واسه کاربر معتبر هست ازش استفاده کنی.
سلام
@h.qorbani7
@alif
ببینید شما برای اینکه مکانیزم دانلود رو اوکی کنید مثل میزنم براتون
dl.domain.com/files/file.zip
این آدرس فایل شماست
شما اینو میبرید تو لاراول
و با لاراول تقریبا چیزی شبیه کوتاه کننده های لینک
domain.com/download/rtyhjukbhgcfdfrgyuh
اگر همچین چیزی وارد شد
شما این rtyhjukbhgcfdfrgyuh رو بگیر ( توکن )
سرچ کن تو جدول ببین فایلش چیه
توی ریسپانس با یه هدر مشخص اون رو شروع به دانلود کن
@Alimotreb
آقا دمت گرم همیشه جوابات کامل و عالیه. وقت میذاری جواب میدی خیلی با ارزشه . خدا خیرت بده ممنون
@h.qorbani7
سلام. مهندس مشکلت حل شد ؟ منم دقیقا الان با کدی که نوشتی به فایل دسترسی دارم ولی خیلی سرعت دانلودش کمه و اذیت میکنه. فکر کنم یه روش دیگه باید باشه اینجوری اصلا نمیشه
@alif
سلام و وقت بخیر
سرعت دانلود برای من خوبه البته به نسبت دانلود از طریق مرورگر. مساله من اینجاست که دانلودمنیجر تشخیص نمیده...
@h.qorbani7
الان همش این خطا رو میگیرم. حتی با کدی که شما نوشتی. مشکل از چیه بنظرت
504 Gateway Time-out
nginx
@alif
میتونی قدری اطلاعات بیشتری بدی؟
هاست دانلود بدرستی به هاست اولیه معرفی شده؟
رمز کردن آدرس دانلود باعث 504 Gateway time out میشه؟
@h.qorbani7
آره اخه توی مرورگر میزنم میاره. بعد چجوری بفهمم هاست دانلود به هاست اولیه درست معرفی شده ؟
@alif
تو تنظیمات dns هاست اصلی یک رکورد برای هاست دانلودی ساخته میشه. که البته وقتی میگی میاره خب باید درست باشه و مساله در برنامه نویسی شماست که لازمه بررسی شه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟