我使用nginx rewrite将旧URL重定向到新URL,现在curl GET并将请求发布到旧URL don';行不通

我使用nginx rewrite将旧URL重定向到新URL,现在curl GET并将请求发布到旧URL don';行不通,nginx,curl,nginx-config,Nginx,Curl,Nginx Config,我有一个正在运行的服务。我在新服务器上设置了新服务。当通过web访问新服务时,一切正常。但是当我试图通过curl(POST请求)或从中下载(GET请求)登录到旧服务时,我只收到“301永久移动”消息。这是我的nginx.conf: events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" '

我有一个正在运行的服务。我在新服务器上设置了新服务。当通过web访问新服务时,一切正常。但是当我试图通过curl(POST请求)或从中下载(GET请求)登录到旧服务时,我只收到“301永久移动”消息。这是我的nginx.conf:

events {
    worker_connections  1024;
}

http {

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

  server {
      listen 80;
      server_name new-server.net;
      server_tokens off;

      location / {
          return 301 https://$host$request_uri;
      }
  }

  server {
      listen 443 ssl;
      server_name           new-server.net;
      server_tokens         off;

      ssl_certificate       /etc/nginx/certs/server.cer;
      ssl_certificate_key   /etc/nginx/certs/server.key;

      location / {
          proxy_pass  http://new-server.net:8081/;
          proxy_set_header    Host                $http_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   https ;
          proxy_redirect      http:// https:// ;
      }
  }

  server {
      listen 8444 ssl;
      server_name old-server.net;
      server_tokens off;

      ssl_certificate       /etc/nginx/certs/server.cer;
      ssl_certificate_key   /etc/nginx/certs/server.key;

      location /devs {
          rewrite ^/devs(.*) https://new-server.net$1 permanent;
      }
  }

}

我使用rewrite是因为新服务器没有旧服务器的/devs/context路径。我不知道如何通过“返回301”行实现这一点。那么,我是否可以允许开发人员继续获取并发布到旧的URL,并将这些请求发送到新的URL?

告诉curl遵循重定向?1)告诉curl遵循位置。2) 将301更改为307(这将告诉浏览器重试请求,因此将再次对新URL发出POST请求;301不会发生这种情况).我知道如何执行像
return307这样的命令$scheme://new-server.net$request_uri
,但这不能解释新服务器没有“/devs/”上下文路径这一事实。如何返回307并删除“/devs/”上下文路径?