Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

WBOY
Lepaskan: 2023-05-16 17:28:12
ke hadapan
2603 orang telah melayarinya

Penerangan Masalah

Reka bentuk menggunakan rangka kerja Ant Design Vue dan JFinal untuk membangunkan bahagian hadapan dan bahagian belakang masing-masing, dan mencipta sistem pelarasan latar belakang pengambilan. Cuba gunakan projek ke pelayan, tetapi ralat 404 Not Found terus muncul semasa akses luaran

Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

Penyelesaian

Letakkan ralat sebagai: tidak ditemui Antara muka dinamik, tetapi saya tidak tahu sama ada terdapat masalah dalam projek atau selepas proksi nginx.
Oleh itu, antara muka projek itu sendiri dan antara muka selepas proksi nginx mesti diuji secara berasingan.

Mula-mula uji antara muka dalam projek:

Masukkan arahan di sebelah ubuntu: curl http://localhost:port/xxx/xxx

这里我的接口是: curl http://localhost:20294/sys/login

Hasil berjalan:

Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

Ini bermakna tiada masalah dengan antara muka dalam projek saya.

Uji antara muka di belakang proksi nginx sekali lagi:

Masukkan arahan

curl http://localhost:8080/api/user/login
Salin selepas log masuk

dalam ubuntu dan jalankan hasilnya:

Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

Di sini ia mengatakan bahawa antara muka tidak dapat ditemui, menunjukkan bahawa masalahnya terletak pada pelayan proksi nginx, jadi kami perlu mengubah suai fail konfigurasi nginx.

Mengikuti cadangan blog lain, saya menambahkan garis miring pada tempat ini dalam konfigurasi nginx

Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

Selepas memulakan semula pelayan, ia masih tidak berfungsi .

Penyelesaian lengkap

Apabila saya tidak tahu apa yang perlu dilakukan, tiba-tiba saya mendapati terdapat dua nginx·····
Saya tertanya-tanya sama ada kerana terdapat dua nginx dan fail konfigurasi yang diubah suai bukanlah nginx yang saya mulakan. Jadi saya menggantikan semua fail konfigurasi nginx dengan fail konfigurasi asal saya dan dimulakan semula. Masih tidak berfungsi

Bimbang bahawa ia adalah masalah dengan dua nginx, saya memadamkan semua nginx dalam pelayan. Langkah pemadaman (jalankan langkah berikut mengikut urutan):

ps aux|grep nginx  #查看nginx进程
kill -9 进程号      #杀死上一步中查询到的nginx(进程号在第二列)
find / -name nginx #找到nginx的文件地址
rm -rf xxx         #删除nginx所有文件
Salin selepas log masuk

Akhir sekali, gunakan weget untuk memasang nginx baharu, dan kemudian pasangkannya mengikut langkah pemasangan asal Selepas mengubah suai fail konfigurasi, jalankan curl untuk mengakses antara muka dinamik, dan tiba-tiba semuanya baik-baik saja!

Fail konfigurasi nginx saya disiarkan di bawah:

user root;
#user  nobody;
worker_processes  4;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    underscores_in_headers on;
    large_client_header_buffers 4 32k;
    client_max_body_size 50m;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nopush          on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout    300;
    fastcgi_read_timeout    300;
    fastcgi_buffer_size     64k;
    fastcgi_buffers     4   64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
    tcp_nodelay         on;

    #gzip  on;


    ######################################################
    #############     麻雀配置地址    ###########
    ######################################################
    server {
        listen       8080;
        server_name  somename;

        location /api/ {
            proxy_pass http://0.0.0.0:20294/; #映射到本地端口。
            proxy_redirect off;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 200m;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }
        
        location / {
            root /root/project-template/config/static;
            try_files $uri $uri/ @router;
            index index.html;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 200m;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }

        location @router {
            rewrite ^.*$ /index.html last;
        }
    }
}
Salin selepas log masuk

Perlu diambil perhatian bahawa apabila mengkonfigurasi api akses dinamik, ingat untuk menambah garis miring pada penghujung

Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat nginx 404Not Found apabila mengakses antara muka dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!