为什么 NGINX 没有将我的获取请求发送到我的快速服务器?

问题描述 投票:0回答:0

我目前正处于设置我的网站的最后阶段,我无法让 nginx 工作并且它杀死了我

我有一个非常简单的 crud 应用程序,react 前端,express 后端,显然我正在使用 nginx 作为反向代理

服务器中的所有路由看起来像

app.get('/GetProfile', (req, res) => {...})

标准品

它适用于本地主机

更奇怪的是,该应用程序可以向名为 /GetAllProfiles 的单个路由发出获取请求,但尽管设置方式完全相同,但其他路由都没有

http {
    include       mime.types;
    default_type application/json;


    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80  default_server;
    listen 443 ssl default_server;
    listen [::]:80 default_server;

        server_name  musiclovers.studio;
    


        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';



    ssl_certificate C:\Users\Administrator\musiclovers\sslcert\cert.pem; # REPLACE HERE
        ssl_certificate_key C:\Users\Administrator\musiclovers\sslcert\privkey.pem; # REPLACE HERE

    try_files $uri $uri/ /index.html =404;


        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 Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_pass http://localhost:888/;
        proxy_set_header content-type "application/json";

            proxy_ssl_session_reuse off;
            proxy_pass_header Server;
            proxy_cache_bypass $http_upgrade;
            
    }
        }
}

更奇怪的是,我所有的请求都正确地记录了日志

    72.230.78.122 - - [30/Apr/2023:01:56:04 +0000] "GET /GetAllProfiles?ID=2 HTTP/1.1" 
304 0 "http://localhost:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
72.230.78.122 - - [30/Apr/2023:01:56:08 +0000] "GET /GetProfile?id=1 HTTP/1.1" 304 0 
"http://localhost:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
72.230.78.122 - - [30/Apr/2023:01:56:08 +0000] "GET /GetSong/?audioId= HTTP/1.1" 304 0 
"http://localhost:3000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"

(不匹配的“ID”外壳是正确的,因为我不擅长一致性,但即使这样,id 仍然得到关于正在发出的请求的调试,因为我在每条路线上控制台登录,得到的歌曲可能有点不同,但现在我只是过度专注在获取 /GetProfile 设置时,前端和后端的所有设置几乎相同,所以我至少应该在控制台中看到某种调试)

我超级恼火,这个反向代理问题已经困扰我大约一个星期了,我只想继续前进。我不明白。为什么一个请求有效而其他请求无效?

Nginx 显然收到了请求,因为它记录了它

但是它

只是。

不。

工作。

express http nginx routes reverse-proxy
© www.soinside.com 2019 - 2024. All rights reserved.