HTTP-SERVER یک سرور ساده و پیکربندی صفر پیکربندی استاتیک HTTP است. این به اندازه کافی برای استفاده از تولید قدرتمند است ، اما به اندازه کافی ساده و هک می شود که برای آزمایش ، توسعه محلی و یادگیری مورد استفاده قرار می گیرد.
نصب و راه اندازی:
در حال اجرا در صورت تقاضا:
با استفاده از NPX می توانید اسکریپت را بدون نصب ابتدا اجرا کنید:
در سطح جهانی از طریق NPM
این کار HTTP-Server را در سطح جهان نصب می کند تا بتواند از خط فرمان در هر نقطه اجرا شود.
در سطح جهانی از طریق Homebrew
به عنوان وابستگی در بسته NPM خود:
استفاده:
[PATH] به طور پیش فرض به ./public در صورت وجود پوشه ، و ./ در غیر این صورت.
اکنون می توانید برای مشاهده سرور خود به http: // localhost: 8080 مراجعه کنید
توجه: ذخیره سازی به طور پیش فرض روشن است. اضافه کرد ن-C -1 را به عنوان گزینه ای برای غیرفعال کردن حافظه پنهان.
گزینه های موجود:
فرمان | شرح | پیش فرض |
---|---|---|
-P ی ا-پورت | بندر برای استفادها ز-p 0 برای جستجوی درگاه باز ، از 8080 استفاده کنید. همچنین از process. env. port نیز خوانده می شود. | 8080 |
-a | آدرس برای استفاده | 0. 0. 0. 0 |
-d | لیست فهرست ها را نشان دهید | درست است، واقعی |
-i | نمایش خودکار | درست است، واقعی |
-G ی ا-gzip | در صورت فعال شدن ، به جای ./public/some-file. js. gz به جای ./public/some-file. js وقتی نسخه gzipped پرونده وجود دارد و درخواست رمزگذاری GZIP را می پذیرد. اگر Brotli نیز فعال باشد ، ابتدا سعی می کند Brotli را سرو کند. | دروغ |
-b ی ا-brotli | هنگامی که فعال شود ، خدمت خواهد کرد. اگر GZIP نیز فعال باشد ، ابتدا سعی می کند Brotli را سرو کند. | دروغ |
-e ی ا-متن | پسوند پرونده پیش فرض در صورت عدم تأمین | HTML |
-S ی ا-سیلی | پیام های ورود به سیستم را از خروجی سرکوب کنید | |
-گروه | CORS را از طریق هدر دسترسی کنترل-ایل-منشور فعال کنید | |
-O [مسیر] | پنجره مرورگر را پس از شروع سرور باز کنید. به صورت اختیاری یک مسیر URL را برای باز کردن فراهم کنید. به عنوان مثال: -o/دیگر/دیر/ | |
-c | زمان حافظه نهان (در ثانیه) را برای هدر حداکثر سن-کنترل حافظه نهان تنظیم کنید ، به عنوان مثال-C10 به مدت 10 ثانیه. برای غیرفعال کردن حافظه پنهان ، ا ز-C -1 استفاده کنید. | 3600 |
-u ی ا-utc | از فرمت زمان UTC در پیام های ورود به سیستم استفاده کنید. | |
-log-ip | ورود به آدرس IP مشتری را فعال کنید | دروغ |
-P ی ا-پروکسی | پروکسی ها تمام درخواست هایی که نمی توانند به صورت محلی به URL داده شده حل شوند. به عنوان مثال: -p http://someurl. com | |
-گزینه های مختلف | گزینه های پروکسی را با استفاده از اشیاء خالص تو در تو قرار دهید. به عنوان مثال:-proxy-options. Secure false | |
--نام کاربری | نام کاربری برای احراز هویت اساسی | |
--کلمه عبور | رمز عبور برای احراز هویت اساسی | |
-S ، -TLS ی ا-SSL | فعال کردن درخواست امن با TLS/SSL (HTTPS) | دروغ |
-C یا - | مسیر پرونده گواهینامه SSL | گواهی |
-K ی ا-کلید | مسیر پرونده کلید SSL | key. pem |
-R ی ا-روابوت | به طور خودکار a /robots. txt را ارائه دهید (محتوای پیش فرض برای کاربر-عامل: *\ ndisowlash: /) | دروغ |
-بدون نقطه | dotfiles را نشان ندهید | |
-mimetypes | مسیر به یک فایل . types برای تعریف mimetype سفارشی | |
-H یا - -Help | این لیست را چاپ کرده و خروج کنید. | |
-v ی ا-version | نسخه را چاپ کنید و خروج کنید. |
پرونده های جادویی
- index. html به عنوان پرونده پیش فرض برای هر درخواست دایرکتوری ارائه می شود.
- در صورت عدم یافتن پرونده ، 404. html ارائه می شود. این می تواند برای میزبانی برنامه تک صفحه (SPA) برای ارائه صفحه ورود استفاده شود.
صید همه هدایت
برای اجرای تغییر مسیر همه گیر ، از صفحه فهرست خود به عنوان پروکسی با:
توجه داشته باشید که ؟در پایان URL پروکسی. با تشکر از @houston3 برای این هک هوشمندانه!
TLS/SSL
ابتدا باید اطمینان حاصل کنید که OpenSSL به درستی نصب شده است ، و پرونده های key. pem و cert. pem را دارید. می توانید آنها را با استفاده از این دستور تولید کنید:
پس از ورود به دستور ، با چند سؤال از شما خواسته می شود. اگر می خواهید گواهی را در فروشگاه گواهی ریشه سیستم عامل یا مرورگر خود نصب کنید ، از 127. 0. 0. 1 به عنوان مقدار برای نام مشترک استفاده کنید تا به آن اعتماد کنید.
این یک جفت گواهینامه ایجاد می کند و برای 3650 روز (حدود 10 سال) معتبر خواهد بود.
سپس برای فعال کردن SSL و-C برای پرونده گواهی خود باید سرور را ب ا-S اجرا کنید.
اگر می خواهید با کلید خصوصی خود از یک مسیر عبور استفاده کنید ، می توانید یکی را در دستور OpenSSL از طریق پارامت ر-Passout (با استفاده از رمز عبور Foobar) قرار دهید.
به عنوان مثال،Openssl Re q-newkey RSA: 204 8-Passout Pass: Fooba r-keyout Key. pe m-x50 9-Days 36 5-out Cert. Pem
به دلایل امنیتی ، مسیر عبور فقط از متغیر محیط node_http_server_ssl_passphrase خوانده می شود.
این همان چیزی است که در صورت موفقیت باید خروجی باشد:
توسعه
این مخزن را به صورت محلی بررسی کنید ، سپس:
اکنون می توانید برای مشاهده سرور خود به http: // localhost: 8080 مراجعه کنید
شما باید تصویر لاک پشت را در تصویر بالا که در آن URL میزبانی شده است مشاهده کنید. برای محتوای نسخه ی نمایشی به پوشه ./public مراجعه کنید.