我目前正处于设置我的网站的最后阶段,我无法让 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 显然收到了请求,因为它记录了它
但是它
只是。
不。
工作。