خوب من میخوام اولین پست بلاگ ویرگولم رو با موضوع جذاب دور زدن تحریم شروع کنم ( :)))) )
تو ۲۰ روز گذشته خیلی از بیزینسهای ما تو ایران که از ابزار وانسیگنال برای ارسال نوتیفیکشن استفاده میکردن با مشکل بزرگی رو به رو شدن و اون تحریم ایران توسط این ابزار هست. خوب تو این شرایط ۲ حالت کلی وجود داره یا اون شرکت و بیزنس باید ابزار ارسال نوتیفیکشنش رو عوض کند و یا باید راه دور زدن این تحریم رو پیدا کنن.
به صورت منطقی هرچی تغییرات در سطح اپلیکشن کمتر باشه واسه این منظور بیزنس خوشحالتر خواهد بود.
تو این موضوع تحریم وانسیگنال کمدردسرترین راه حل دور زدن تحریم هست. تو این مقاله سعی میکنم یکی از این راهحلهای را به صورت کاملا مختصر توضیح بدم.
برای این کار حداقل یک سرور مجازی خارج از ایران لازم هست.
اول یک توضیح از روش کار میدم بعد به صورت کامل توضیح میدم.
در این روش ما یک nginx داریم که یک سایت دارد با نام سرور onesignal.com که هر درخواستی که سمتش میاد رو صورت proxy_pass به onesignal.com اصلی ارسال میکند. (این سرور مجازی خارج ایران هست )
در سروری که نوتیفیکشنهای شما از آنجا ارسال میشود و با مشکل رو به رو هست کافیه که در فایل
/etc/hosts
یک خط با آیپی سرور مجازی و آدرس onesignal.com رو اضافه میکنید. مثال:
$ echo "99.88.77.66 onesignal.com" >> /etc/hosts
به همین راحتی شما ترحیم را دور زدهاید!
خوب میریم سر توضیحات مفصلتر:
من فرض رو بر این میگیرم که شما یک سرور مجازی دارین که میتوانید بروی آن یک وب سرور که از پروکسی پسینگ پشتیبانی میکند رو نصب کنید. من در اینجا از nginx استفاده میکنم که سریعتر به نتیجه برسیم.
برای این کار بعد از نصب nginx در کانفیگ یک سایت تعریف میکنید که به صورت پیشفرض در مسیر زیر میتوانید این کار را انجام دهید:
/etc/nginx/site-enables/
خب من یک نمونه کانفیگ یک سایت را میسازم و شما فقط کافی هست که این رو در یک فایل در مسیر بالا ذخیره کنید.
$ vim /etc/nginx/site-enables/filter_onesignal server { listen 80; server_name onesignal.com; location / { resolver 8.8.8.8 ipv6=off; proxy_pass https://onesignal.com; } } server { listen 443; server_name onesignal.com; location / { resolver 8.8.8.8 ipv6=off; proxy_pass https://onesignal.com; } }
بعد از ذخیره کردن این فایل کافیه ابتدا دستور nginx -t رو بزنید و اگر جواب زیر رو گرفتید سپس کافیه سرویس nginx خودتون ریستارت کنید.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
بعد از این مرحله فقط باید در سروری که ارسال نوتیفیکشن را انجام میدهد یک خط به فایل /etc/hosts اضافه کنید که آیپیسرور مجازی که دارد و با یک فاصله onesignal.com را اضافه کنید مثال:
$ echo "99.88.77.66 onesignal.com" >> /etc/hosts
آیپی 99.88.77.66 رو با آیپی سرور مجازی که دارد جایگزین کنید.
و بعد ازین به راحتی از onesignal استفاده کنید.
من سعی کردم خیلی سریع و واضع توضیح بدم اما اگر در متن و این راحل مشکلی داشتید با من در میان بگذارید.