nginx 配置代理 跳转到其他的域名

kidddder
  • 554

需求是https://xxx.aa.net/20002/api/...
我跳转到nginx后 他要跳转到
http://xxxx.bb.net:20002/api/AppApi/GetPriceLogByLogId
我nginx怎么配置,我下面的配置会报400
image.png
或者
image.png
最终配置 也不行
`server {

    listen       443;
    server_name  xxx.aa.net;
    ssl on;
    ssl_certificate      cert/xxx.aa.net.pem;
    ssl_certificate_key  cert/xxx.aa.net.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
    expires 10d;

    client_max_body_size 20M;
   
    location  ^~ /20002/ {
    proxy_pass    http://xxxx.bb.net:20002/;
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
    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_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
    proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
    }

}`
回复
阅读 1.6k
1 个回答

按你的被配置会代理到http://xxxx.bb.net:20002/20002/api/AppApi/GetPriceLogByLogId

// 以斜杠结尾 排除匹配项
location ^~ /20002/ {

}

你知道吗?

宣传栏