Saya mempunyai bahagian belakang dan nginx aplikasi React Node JS. Saya telah memperoleh sijil dan memasangnya melalui Certbot.
Aplikasi saya membuat permintaan dapatkan dan hantar, tetapi untuk itu saya perlu menetapkan tetapan proxy_pass.
Fail blok pelayan saya:
server { root /var/www/nikolsoborsocial/html; index index.html index.htm index.nginx-debian.html; server_name nikolsoborsocial nikolsoborsocial.org www.nikolsoborsocial.org; location / { try_files $uri $uri/ =404; } listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/nikolsoborsocial.org/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/nikolsoborsocial.org/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = www.nikolsoborsocial.org) { return 301 https://$host$request_uri; } # managed by Certbot if ($host = nikolsoborsocial.org) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; listen [::]:80; server_name nikolsoborsocial nikolsoborsocial.org www.nikolsoborsocial.org; return 404; # managed by Certbot }
Adakah saya perlu menambah tetapan proxy_pass?
proxy_pass http://localhost:3000; include proxy_params;
Jika saya meletakkannya di lokasi pelayan 433, masukkan try_files $uri $uri/ =404;
我的 React 应用程序无法加载,并且我在浏览器中收到 Cannot GET /
ralat.
Anda menyediakan fail konfigurasi nginx anda untuk menyediakan fail React dalam blok pelayan "lokasi/".
Jadi, jika anda cuba menambah tetapan proxy_pass dalam blok "lokasi/", ia akan mengatasi kod yang menyediakan fail tindak balas. Nginx akan memproksi permintaan ke pelayan bahagian belakang yang berjalan pada localhost:3000.
Bagaimana untuk menyelesaikan masalah ini?
Anda mesti menyediakan fail dalam pelayan bahagian belakang anda untuk permintaan ini atau tambahkan blok lokasi baharu.
Ini ialah contoh menambah blok lokasi baharu