امروز ، ما می خواهیم نحوه ساخت سرور پروکسی Node.JS را به شما نشان دهیم که می تواند درخواست HTTPS و HTTP را بدون دردسر تسهیل کند. همچنین ، ما به شما نشان خواهیم داد که چگونه آدرس های IP خاص در لیست سفید و همچنین چگونگی لیست سیاه وب سایت های خاص در سرور پروکسی را نشان دهید.
با این وجود ، برنامه نویسان تازه کار این آموزش را برای استقرار پروکسی Node.JS خود بر روی خود مفید و آسان می دانند. سیستمی که می تواند بر روی مرورگر وب Mozilla Firefox پیکربندی شود.
پیش نیازها
برای ساخت سرور پروکسی HTTP موارد زیر لازم است:
- Node.JS Framework
- Web مرورگر (Mozilla Firefox یا هر مرورگر وب استاندارد دیگر)
- JavaScript پایه (یا دانش برنامه نویسی)
- برنامه Notepad (یا هر ویرایشگر متن دیگر)
- امکان پیگیری دستورالعمل
با این حال ، قبل از ادامه ، بیایید پیدا کنیم مشخص کنید که سرور پروکسی HTTP دقیقاً چیست و چگونه کار می کند.
سرور پروکسی HTTP چیست؟ چگونه کار می کند؟
سرور پراکسی HTTP رایانه ای است که به عنوان واسطه ای بین مشتری و سرور دیگر (مقصد) عمل می کند تا درخواست های HTTP را از طریق شبکه محلی یا اینترنت انجام دهد. به عبارت دیگر ، سرور پروکسی HTTP درخواست های پروتکل HTTP از مشتری (مرورگر وب) را می پذیرد ، حافظه پنهان را بررسی می کند و در صورت امکان منابعی را که مشتری از سرورهای مختلف درخواست می کند ، ایجاد می کند.
از طرف دیگر ، سرور پروکسی می تواند حافظه پنهان را انجام دهد. مجموعه ای از منابع الکترونیکی مانند صفحات وب ، تصاویر ، اسناد و موارد دیگر. از این رو ، کاربران می توانند ضمن کاهش ترافیک شبکه ، بار سرور وب و سایر محدودیت های مرتبط با رسیدگی مستقیم به درخواست های HTTP ، به منابع مورد نظر خود دسترسی پیدا کنند.
پروکسی های وب مزایای بسیار زیادی را برای میلیون ها کاربر در سراسر جهان فراهم می کند. برخی از مزایای پراکسی های وب در اینجا وجود دارد: 19659006] دسترسی به مطالب سانسور شده و موارد دیگر
با این وجود ، به خاطر این آموزش Node.JS برای ایجاد نوع خود سرور HTTP Proxy لازم است.
Node.JS چیست؟ چگونه می توانم آن را نصب کنم؟
Node.JS زمان اجرای JavaScript است که می تواند در موتورهای جاوا اسکریپت هر مرورگری برای ساخت برنامه های شبکه مقیاس پذیر اجرا شود. برخلاف سایر زبانهای برنامه نویسی ، Node.JS یک مفسر برای یک محیط در حال اجرا JavaScript است. از این رو ، به Node.JS معمولاً به دلیل وابستگی جاوا اسکریپت به سرور ، به عنوان یک چارچوب جاوا اسکریپت نگاه می شود.
یکی از ویژگی های قابل توجه Node.JS سازگاری متقابل آن است ، یعنی می تواند در سیستم عامل های مختلف مانند ویندوز ، سیستم عامل Mac ، یونیکس ، لینوکس و موارد دیگر. همچنین ، Node.JS از یک مدل ورودی / خروجی غیر مسدود کننده مبتنی بر رویداد استفاده می کند که آن را برای اجرای برنامه های بی درنگ در دستگاه های مختلف کارآمد و سبک می کند.
چرا ما Node.JS را انتخاب کردیم؟
ساده! [19659002] Node.JS به دلیل ماهیت ناهمگام بودن به دلیل رویکرد آسان در پردازش درخواست ها قابل توجه است. همچنین ، این یک بسته پروکسی از قبل موجود دارد که http-proxy-server نامیده می شود.
اکنون ، بیایید به سمت نصب Node.JS برویم ، اگر قبلاً آن را در رایانه خود ندارید.
Node.JS است یکی از زبانهای برنامه نویسی بسیار پشتیبانی شده که مرتباً به روز می شود. از این رو ، نسخه های جدید در کوتاه مدت به راحتی در دسترس هستند. همانطور که در زمان نوشتن این مقاله ، نسخه فعلی Node.JS 12.11.1 است.
توجه: Node.JS با ویندوز ، لینوکس ، سیستم عامل Mac ، SmartOS و غیره سازگار است
این مراحل را دنبال کنید تا Node.JS را نصب کنید:
- به وب سایت رسمی Node.JS بروید.
- بر روی گزینه Download მიმდინარე نسخه کلیک کنید.
- پس از بارگیری پرونده نصب ، سپس بر روی آن دوبار کلیک کنید تا نصب Node.js آغاز شود .
- نصب کننده پنجره جدیدی را باز می کند که شما را وادار می کند موافقت نامه های صدور مجوز را بپذیرید. دستورالعمل ها را دنبال کنید تا نصب به پایان برسد.
توجه: هنگام نصب Node.JS ، همچنین npm (کتابخانه های خارجی اکوسیستم Node.JS) و همچنین سایر م componentsلفه ها مانند Chocolatey ، Visual Studio Installer ، Python و غیره همچنین هنگام آپدیت رایانه شخصی خود به آخرین نسخه ، نگران نباشید.
همچنین ، اگر Node.JS را از قبل روی رایانه نصب کرده باشید ،
بنابراین ، می توانید از پرونده نصب استفاده کنید یا از Node Package Manager (npm) استفاده کنید.
نحوه ایجاد یک پروکسی اساسی در Node.JS
به منظور سرور پراکسی اساسی را در Node.JS ایجاد کنید ، این مراحل را دنبال کنید:
- ویرایشگر متن خود را راه اندازی کنید (ترجیحاً Notepad ++).
- کد زیر را کپی کرده و به عنوان proxy.js در C ذخیره کنید: \ Users Your Name
var http = نیاز ('http')؛
var proxy = need ('http-proxy')؛
proxyServer = proxy.createProxyServer ({target: 'http: //127.0.0.1: 9000'})؛
proxyServer.listen (8000)؛
سرور = http.createServer (تابع (req ، res) {
res.writeHead (200 ، {'نوع محتوا': 'متن / ساده'})؛
res.write ('درخواست پروکسی با موفقیت انجام شد!' + ' n' + JSON.stringify (req.headers ، true ، 2))؛
ارسال مجدد()؛
})
server.listen (9000)؛
- برای اجرای پرونده از دستور زیر استفاده کنید.
node proxy.js
با این کار سرور پراکسی اساسی کار می کند.
برای مشاهده مطالب هر وب سایت http دیگر ، باید کد خود را اصلاح کنیم زیر:
var http = Require ('http')؛
var proxy = need ('http-proxy')؛
var url = نیاز ('url')؛
proxyServer = proxy.createProxyServer ({target: 'http: //127.0.0.1: 9000'})؛
proxyServer.listen (8000)؛
سرور = http.createServer (تابع (req ، res) {
console.log (req.url) ؛
proxyServer.web (req ، res ، {target: req.url})؛
proxyServer.on ('خطا' ، تابع (e) {
console.log ("خطا در تماس پروکسی")؛
})
})
server.listen (9000)؛
- سپس اسکریپت را اجرا کنید.
نحوه پیکربندی مرورگر وب
اساساً ، برای تسهیل ارتباطات پراکسی باید مرورگر وب خود را پیکربندی کنید.
توجه: روند افزودن سرور پروکسی برای مرورگر وب دیگر متفاوت است . با این حال ، برای اهداف این آموزش ، ما فقط نحوه افزودن سرور پراکسی برای Mozilla Firefox را به شما نشان خواهیم داد.
در اینجا نحوه انجام این کار آورده شده است:
- Mozilla Firefox را راه اندازی کنید
- به منو بروید> گزینه ها
https://imgur.com/a/GtWBBi2cepts19659059 برگزیده به پایین به تنظیمات شبکه بروید و روی آن کلیک کنید
- کادر علامت گذاری دستی دستی را علامت بزنید و پروکسی خود را وارد کنید اطلاعات سرور یعنی HTTP Proxy و Port. برای HTTP Proxy از http://127.0.0.1/ و برای Port از 9000 استفاده کنید. توجه: این اطلاعات بر اساس اطلاعات اولیه پیکربندی پروکسی است.
- اکنون ، در کادر "استفاده از این پروکسی سرور برای همه پروتکل ها" علامت بزنید. این اتصال HTTPS را فعال می کند (ما این را در زیر توضیح خواهیم داد).
نحوه افزودن آدرس IP به لیست IP (لیست سفید)
اساساً ، سرور پروکسی اجازه اتصال عجیب IP را نمی دهد. از این رو ، لازم است که از آدرس iplist تمام آدرس IP موردنظر برای دسترسی سرور پروکسی را به آن اضافه کنید.
- برای این کار دستور زیر را وارد کنید:
$ echo '1.2.3.4' >> iplist
توجه: 1.2.3.4 را با آدرس IP رایانه خود جایگزین کنید. همین روند را برای همه آدرسهای IP مجاز خود تکرار کنید.
نحوه قرار دادن یک وب سایت در سرور پروکسی خود
یکی از اهداف ایجاد سرور پراکسی کنترل دسترسی به اینترنت در یک محیط به ویژه در یک محیط تجاری است. اگر نمی خواهید کارمندتان هنگام استفاده از رایانه های دفتر خود از برخی وب سایت ها اعم از غیرقانونی یا تحریک آمیز بازدید کند ، ممکن است چنین وب سایت هایی داشته باشید.
با این وجود ، می توانید از سرور پروکسی Node.JS HTTP خود برای لیست سیاه این وب سایت ها استفاده کنید. این فرایند مستلزم تکمیل سرور پراکسی ما با منطق سفارشی است.
برای انجام این کار ، به سادگی:
- ویرایشگر متن مورد علاقه خود را باز کنید و URL های تمام سایت هایی را که می خواهید مسدود کنید اضافه کنید.
- سپس ، کد قبلی را اضافه کنید به سرور پروکسی شما.
var مسدود شده = []؛
fs.watchFile ('./ blocks.txt'، تابع (c، p) {update_blocked_list ()؛})؛
عملکرد update_blocked_list () {
sys.log ("به روزرسانی پرونده های مسدود شده".)؛
مسدود شده = fs.readFileSync ('./ Block.txt'). تقسیم (' n')
فیلتر. تابع (rx) {بازگشت rx.length})
نقشه (تابع (rx) {بازگشت RegExp (rx)})؛
}
http.createServer (تابع (درخواست ، پاسخ)) {
برای (من در مسدود شده) {
if (مسدود شده [i] .test (درخواست. url)) {
sys.log ("رد شد:" + درخواست. روش + "" + درخواست. url)؛
پاسخ. پایان ()؛
برگشت؛
}
}
}
- پس از آن پرونده را اجرا کنید و سپس بررسی کنید که آیا می توانید به URL های مسدود شده در مرورگر وب خود دسترسی پیدا کنید یا خیر.
معمولاً هنگام درخواست چنین درخواست دسترسی رد می شود.
نحوه فعال کردن HTTPS در سرور پروکسی شما
امروزه چندین وب سایت از طریق HTTP ایمن هستند یعنی بازدید از چنین وب سایت هایی رمزگذاری شده است. اگرچه هدف این آموزش ایجاد یک سرور پروکسی HTTP است ، ما همچنین به شما نشان خواهیم داد که چگونه HTTPS را بر روی سرور پروکسی خود فعال کنید. با این کار محدودیت های دسترسی به وب سایت های HTTP فقط از طریق سرور پراکسی شما از بین می رود.
سپس برای وارد کردن درخواست های https با وارد کردن این دستور باید سرور را پیاده سازی کنید:
var fs = need ('fs')؛
var http = نیاز ("http") ،
var https = نیاز ('https') ،
var httpProxy = need ('http-proxy')؛
isHttps = درست است؛
گزینه های var = {
ssl: {
کلید: fs.readFileSync ('valid-key.pem') ،
گواهی: fs.readFileSync ('valid-cert.pem')
}
}؛
proxyServer = proxy.createProxyServer ({target: 'http: //127.0.0.1: 9000'})؛
proxyServer.listen (9000)؛
if (isHttps) {
سرور = https.createServer (options.ssl ، تابع (req ، res) {
console.log ("درخواست https") ؛
proxyServer.web (req ، res ، {target: req.url})؛
proxyServer.on ('خطا' ، تابع (e) {
console.log ("خطا در تماس پروکسی")؛
})
proxyServer.listen (9000)؛
})
} دیگری {
سرور = http.createServer (تابع (req ، res) {
console.log (req.url) ؛
proxyServer.web (req ، res ، {target: req.url})؛
proxyServer.on ('خطا' ، تابع (e) {
console.log ("خطا در تماس پروکسی")؛
})
})
}
server.listen (9000)؛
نتیجه گیری
در این مقاله آموزشی ، شما را در مراحل ایجاد یک سرور پراکسی پایه HTTP / HTTPS با استفاده از Node.JS راهنمایی کرده ایم. در پایان این مقاله ، شما باید قادر به نصب و ارتقا موتور Node.JS باشید. همچنین ، باید بتوانید آدرس IP (IP) خود را در لیست سفید قرار دهید تا بتوانید به راحتی به سرور پروکسی دسترسی داشته باشید یا وب سایت های خاصی را به طور موثر در لیست سیاه قرار دهید.
با این وجود ، اگر روند ساخت سرور پروکسی HTTP شما را بترساند ، می توانید برای هر یک از اینها مشترک شوید. پروکسی های مسکونی یا ProxyRack VPN ما برای ناشناس بودن آنلاین گارانتی شده است.
Node خود را به اشتراک بگذارید. JS HTTP ساخت سرور پروکسی با ما در زیر نظر دهید.