برای پیمان یا چطور CORS رو روی Nginx دور بزنیم؟

[این قسمت در مورد تبلیغات vue.js است و نخوندین هم نخوندین] یکی از خوبیای vue.js اینه که پیمان و نگار باهاش کد می‌زنن و علاوه بر این، پوست آدم زیبا میشه ولی اگه وب‌سرور توسعه‌دهنده nginx باشه دهنش ناراحت میره. به هر حال همونطور که همه‌ی خوشگلا یه مشگلایی هم دارن با خودشون، باید پذیرفت و اینا.

[این قسمت ولی اصل کاریه] راهی که در نهایت پیدا شد اینه که:

۱. یک دامنه‌ی فیک برای بک‌اند بسازید. برای این منظور در ویندوز سرچ کنید و در لینوکس یا مک فایل `/etc/hosts` رو ویرایش کنید و یه خط مثل `127.0.0.1 vue.mpg` بهش اضافه کنید. از این به بعد vue.mpg میشه دامنه‌ی فیک ماجرا.

۲. این کانفیگ رو برای اون دامنه‌ی فیک درست کنید. به خطوط ۵ و ۹ و ۱۰ توجه لازم رو مبذول بدارین لطفا. خط ۵ که همون دامنه‌ی فیک مرحله‌ی ۱ه. خط ۹ میشه اون uriیی که API روش کال میشه و بک روتش رو روی اون تعریف کرده. خط ۱۰ میشه دامنه‌ی فیک بک‌اندتون (اگه نیست برو به ۱ و کلی مصیبت دیگه :دی) و خط ۱۴ هم میشه آدرسی که ویو باهاش سرو میشه. خط ۷ هم برا وقتیه که دارین یچی آپلود می‌کنین به خاطر حجم تو دیوار نرین. مشخصا تو خیلی جاها باید مواظب این خط بود و اگه روت خاصی برای آپلود هست این خط باید تو کانفیک بک و برای اون روت صرفا تغییر پیدا کنه و نه کل ماجرا. ولی فعلا حالا کارمون راه بیفته تا بعد خدا بزرگه، اگه باشه.

server {    
    listen 80;
    listen [::]:80;

    server_name vue.mpg; # fake domain, made in step 1

    client_max_body_size 80M; # be careful about this config

    location /api { # the route which will be served by backend
        proxy_pass http://mybackend.mpg; # the fake backend domain
    }

    location / {
        proxy_pass http://127.0.0.1:8080; # the default URL which vue.js will serve
    }
}

۳. خِلاص!


پ.ن: قسمت اول عنوان پست رو پیمان خودش انتخاب کرد، به اجبار من.