Nginx proxy_pass到节点应用程序不起作用,而是在根路径中查找

Nginx proxy_pass to node app not working rather looking in root path

提问人:Paarth Manhas 提问时间:11/11/2023 最后编辑:Paarth Manhas 更新时间:11/11/2023 访问量:29

问:

我正在尝试使用此配置为静态应用程序和我的节点后端提供服务。网站加载正常,但 api 调用不起作用。它不是命中 localhost 上的端点,而是在根路径中查找文件。知道我可能做错了什么吗?

这是我的 nginx 配置:

server {
   listen 80 default_server;
   listen [::]:80 default_server;
   server_name www.domain.com;
   root /usr/share/nginx/html/dev/;

   # Redirect HTTP to HTTPS
   if ($http_x_forwarded_proto = "http") {
       return 301 https://$server_name$request_uri;
   }
}

server {
   listen 443 ssl;
   server_name www.domain.com;

   ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/www.domain.com/privkey.pem;

   location / {
       try_files $uri $uri/ =404;
   }

   location /api/ {
       proxy_pass http://localhost:5000;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_pass_request_headers on;
       proxy_set_header Connection 'upgrade';
       proxy_set_header Upgrade $http_upgrade;
   }
}

在错误日志中,所做的 api 调用如下所示:/usr/share/nginx/html/dev/api/api_path/index.html is not found

nginx amazon-ec2 开发运营 nginx-config

评论


答: 暂无答案