Apl React Saya tidak akan dimuatkan selepas mengubah suai tetapan proxy_pass nginx
P粉427877676
P粉427877676 2024-04-05 11:53:10
0
1
487

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.

P粉427877676
P粉427877676

membalas semua(1)
P粉481815897

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

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;
    }

    # Proxy Pass settings
    location /app {
        proxy_pass http://localhost:3000;
        include proxy_params;
    }

    # SSL configuration
    listen [::]:443 ssl ipv6only=on;
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/nikolsoborsocial.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/nikolsoborsocial.org/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan