代码之家  ›  专栏  ›  技术社区  ›  Michael Hobbs

NGINX Rewrite忽略/不使用代理\u pass

  •  0
  • Michael Hobbs  · 技术社区  · 6 年前

    上游供应商应用程序中的错误。在我们的node应用程序中编写了一个路由来代理请求并避免错误,但是无法使NGINX重写正常工作。我试过许多不同的重写方法,现在已经束手无策了。花在重写上的时间比实际的代码多。。。=(

    IN: /Txtranscription/transcription/TranscriptionHandler.ashx?q=c3R1ZHlfaWQ...
    OUT: /Txtranscription/transcription/TranscriptionHandler.ashx?q=c3R1ZHlfaWQ...
    EXPECTED: /transcription?encoded=c3R1ZHlfaWQ... 
    
    ### override handling of /Txtranscription/transcription/TranscriptionHandler.ashx
    location /Txtranscription/transcription/TranscriptionHandler.ashx {
        add_header Access-Control-Allow-Origin $cors_header;
        access_log  logs/vapi.proxy.log lfupstream;
        error_log  logs/vapi.error.log error;
        rewrite ^/Txtranscription/transcription/TranscriptionHandler\.ashx\?q=(.*)$ /transcription?encoded=$1 break;
        proxy_pass http://vapi;
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   miknik    6 年前

    您根本不需要重写请求,您可以将路径附加到 proxy_pass 代理通行证 指令。

    location /Txtranscription/transcription/TranscriptionHandler.ashx {
        set $args encoded=$arg_q;
        ....
        proxy_pass http://vapi/transcription$is_args$args;
    
        2
  •  0
  •   psicopante    5 年前

    例子:

     location ~ ^/connector(/?)(.*)$ {
        proxy_buffer_size 64k;
        proxy_buffers 16 32k;
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Connection "Keep-Alive";
        proxy_set_header Proxy-Connection "Keep-Alive";
        proxy_set_header Authorization "";
        set $upstream_endpoint http://YOUR-END-POINT/$2$is_args$args; 
        proxy_pass $upstream_endpoint;
      }
    

    /管理员