nginx-react

nginx.conf#

در مرحله اول باید یک فولدر در روت پروژه با نام nginx بسازیم و درون آن یک فولدر دیگر با نام conf.d می سازیم و سپس درون آن فایل nginx.conf می سازیم و از کد های زیر در آن استفاده می کنیم:

server {
listen 8081;
listen [::]:8081;
server_name localhost;
root /var/www/build;
location / {
index index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.html break;
}
}
}

listen: این 2 برای تعیین port برای nginx می باشد که باید با پورت سمت راست سرویس nginx در docker-compose یکی باشد ( پورت سمت چپ همان پورتی می باشد که می خواهیم از بیرون به آن دسترسی داشته باشیم ) و در واقع همین پورت را باید برای سرویس اصلی آن نیز استفاده کنیم.

root: در واقع مسیری می باشد که می خواهیم nginx آن را بشناسد و از آن به عنوان مسیر اصلی استفاده کند.

location: در واقع می توان چندین location مختلف بسازیم و بگوییم که هروقت این مسیر صدا زده شد، چه کاری باید انجام شود و حتی می توان تعیین کرد که اگر این مسیر صدا زده شد، مخاطب را به یک آدرس دیگر بفرست ( proxy_pass ).

🎉 شرط نوشته شده برای هندل کردن روت های react می باشد که هنگام رفرش کردن صفحه، با صفحه 404 مواجه نشویم.