آموزش رفع مشکل لود پوشه .well-known در وب سرور Nginx
اجازه دادن دسترسی و لود پوشه مخفی (پوشه ای که ابتدای آن نقطه باشد) در وب سرور انجین ایکس
قطعا شما که دارید این پست را میخوانید اقدام به دریافت SSL کرده اید اما چونکه وب سرور شما Nginx است برای وریفای کردن آن با مشکل مواجه شده اید، که وبسایت ثبت کننده از شما خواسته است یک فایل در مسیر زیر ایجاد کنید
1 |
http://yourdomain.com/.well-known/acme-challenge/filename |
و سپس برای وریفای اقدام کنید تا مشخصات SSL را به شما تحویل بدهد، اما هنگامی که لینک را در مرورگر اجرا میکنید با ارور زیر رو به رو میشوید
1 2 3 4 5 |
Not Found The requested URL /.well-known/acme-challenge/FILENAME was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. |
چرا پوشه .well-known و محتویات آن با وارد کردن لینک وبسایت در مرورگر قابل دسترس نیست؟
پوشه و یا فایل مخفی در لینوکس : هرنوع فایل و یا پوشه ای که ابتدای نام آن نقطه “.” باشد در لینوکس مخفی محسوب میشود.
در وب سرور Nginx برای امنیت و محافظت بیشتر فایل ها و پوشه هایی که مخفی هستند قابل دسترس عموم نیستند و برای لود آن با آدرس وبسایت با ارور بالا رو به رو میشوید. برای مثال برای امنیت از فایل مهم htaccess. و…
برای انجام دادن آموزش ابتدا باید در محیط مدیریتی SSH سرور لینوکس خود لاگین شوید.
- آموزش وصل شدن به ریموت سرور با SSH در لینوکس
- آموزش لاگین شدن به SSH در ویندوز با نرم افزار Putty (بزودی…) (دانلود نرم افزار PUTTY)
اجرا کردن دستور در SSH :
- دستور را کپی کرده و در محیط SSH با کلیک راست آنرا Paste کنید و برای اجرا دکمه Enter را بزنید
- دستور را دقیقا در محیط SSH تایپ کنید و اینتر را بزنید
آموزش رفع مشکل
1. برای رفع این مشکل باید فایل nginx.conf را ویرایش کنید. دستور زیر را برای پیدا کردن مسیر این فایل در SSH بزنید
1 |
locate nginx.conf |
حالا مانند تصویر زیر مسیرهایی که فایل nginx.conf در آن موجود میباشد را میبینید.
توجه : فایل مورد نظر ما در مسیر زیر میباشد، کاری به باقی مسیرهای پیدا شده نداریم!
1 |
/usr/local/directadmin/data/users/ |
در تصویر بالا قسمت هایی را در مسیر میبینید که آبی شده اند، این قسمت نام کاربری از پیش تعیین شده در سرور میباشد. (برای مثال یک هاست با نام Fullkade در سرور ایجاد کرده اید، و یا هاست ایجاد نکرده اید و نام این قسمت در مسیر شما Admin نوشته شده… )
2. حالا که مسیر فایل nginx.conf را پیدا کردید به سراغ ویرایش آن میرویم که به پوشه مورد نظر دسترسی لازم را بدهیم.
برای ویرایش فایل در SSH ابتدا nano را نوشته و سپس مسیر فایل را که دارید و اینتر بزنید، مانند دستور زیر:
1 |
nano /usr/local/directadmin/data/users/fullkade/nginx.conf |
توجه: این دستور را کپی نکنید، شما باید مسیر خودتان را که نحوه پیدا کردن آنرا آموختیم وارد کنید.
3. حالا به قسمت ویرایش محتویات فایل nginx.conf در ssh منتقل میشوید، باید کد زیر را در قسمتی که توضیح میدهیم اضافه کنید.
1 2 3 4 |
location ^~ /.well-known/acme-challenge/ { allow all; default_type "text/plain"; } |
این کد را مانند تصویر زیر داخل اولین کد server{} که در قسمت listen پورت آن 80: است قرار بدید
سپس Ctrl + X را بزنید و بعد y را بزنید و بعد اینتر را بزنید تا فایل ذخیره شود و تغییرات انجام شود
4. حالا در ssh دستور زیر را برای ریلود کردن nginx بزنید
1 |
service nginx reload |
کار تمام است، حالا میتوانید آدرس خود را بدون محدودیت در مرورگر باز کنید. و در سایت سرویس دهنده SSL لینک فایل را در پوشه مربوطه وریفای کنید.
موفق و پیروز باشید.
نظرات ثبت شده بدون دیدگاه