sumber statik proksi terbalik nginx ralat 403?
为情所困
为情所困 2017-06-28 09:22:47
0
2
923

Sediakan projek Node untuk ujian dalam talian Apabila menggunakan proksi terbalik nginx, ralat sumber statik 403 berlaku, tetapi konfigurasi yang sama dalam talian menghasilkan ralat seperti berikut:

upstream nodeblog{
        server 127.0.0.1:3000;
        keepalive 65;
}
server {
        listen 443;
        ssl on;
        server_name ;
        ssl_certificate ;
        ssl_certificate_key ;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ;
        ssl_session_timeout 5m;
        ssl_prefer_server_ciphers on;
        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-Nginx-Proxy true;
                proxy_set_header Connection '';
                proxy_pass http://nodeblog;
        }
        location ~ .*\.(css|js|jpg|png|gif)$ {
                alias "/root/nodeApp/public/";
                expires 3d;
        }
}

Mengikuti gesaan, saya menetapkan 777 kebenaran untuk semua fail dalam direktori, tetapi masih mendapat ralat 403

为情所困
为情所困

membalas semua(2)
巴扎黑

Saya dapati sebab kerana ia dikendalikan di bawah kebenaran root, mungkin nginx tidak mempunyai keizinan kepada direktori Oleh itu, pelayan peribadi tidak menetapkan pengguna lain, jadi buka baris pertama dalam nginx.conf dan tukar pengguna tiada sesiapa kepada root pengguna supaya nginx boleh Jalankan dengan keistimewaan root.

Ini sememangnya bukan penyelesaian yang baik Saya mempunyai pemahaman umum tentang sebab 403. Proses nginx tidak mempunyai kebenaran yang berkaitan untuk folder sumber statik semasa Anda perlu menetapkan kebenaran nginx secara berasingan untuk direktori ini penyelesaian yang baik

过去多啦不再A梦

Sebabnya ialah arahan alias telah digunakan secara salah.
Dokumen Rasmi

Jika alias digunakan di dalam lokasi yang ditakrifkan dengan ungkapan biasa
maka ungkapan biasa tersebut hendaklah mengandungi tangkapan dan alias harus
merujuk kepada tangkapan ini (0.7.40)
http://nginx.org/r/alias

Cuba konfigurasi berikut

        location ~ .*\.(css|js|jpg|png|gif)$ {
                alias "/root/nodeApp/public/";
                expires 3d;
        }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan