使用nginx做为web服务器, 并反向代码api gateway的配置, 怎么做?

Blade 未结 5 15168
zhaixiaobin
zhaixiaobin 剑者 2019-06-05 15:06

nginx配置需求:

1、以/api开头的请求,转发到blade 项目网关上去。

2、前端静态资源(编译后的)请求,也让同一nginx去处理。


5条回答
  • 2019-06-05 15:08

    TIM图片20190605150717.png


     翼宿的群里的回复的截图



    回答: 2019-06-05 15:12

        upstream api_server  {

            server 127.0.0.1:8090; #api gateway

        }


        server {

            listen       80;

            server_name  localhost;


            #charset koi8-r;

            #access_log  logs/host.access.log  main;

            #access_log  "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G"  main;


            root /opt/ast-front;


            location / {


            }


            location ^~ /api/ {

               #Proxy Settings

               proxy_redirect     off;

               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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;

               proxy_max_temp_file_size 0;

               proxy_connect_timeout      90;

               proxy_send_timeout         90;

               proxy_read_timeout         90;

               proxy_buffer_size          4k;

               proxy_buffers              4 32k;

               proxy_busy_buffers_size    64k;

               proxy_temp_file_write_size 64k;

               rewrite ^/api/(.*)$ /$1 break;

               proxy_pass  http://api_server;

            }


    这是我个人的配置, 文字版, 方便大家复制, 最关键的一行, 请求转给api gateway时, 要去掉api。


    4 讨论(1)
  • 2020-07-20 10:31

    我也是按照你这个配置的为什么请求会报404

    4 讨论(0)
  • 2021-04-12 15:52


    user  root;
    worker_processes  1;

    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;


    events {
       worker_connections  1024;
    }


    http {
       include       /etc/nginx/mime.types;
       default_type  application/octet-stream;

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

       access_log  /var/log/nginx/access.log  main;

       sendfile        on;
       #tcp_nopush     on;

       keepalive_timeout  65;

       #gzip  on;

       #include /etc/nginx/conf.d/*.conf;

       upstream gateway {
                    server 172.30.0.81;
                    server 172.30.0.82;
                }

       upstream auth {
                    server 172.30.0.91:8100;
                    server 172.30.0.92:8100;
                }

       upstream report {
                    server 172.30.0.98:8018;
                }

       server {
         listen       88;
         server_name  gateway;
         location / {
              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_buffering off;
              proxy_pass http://gateway;
         }
       }

       server {
         listen       9000;
         server_name  auth;
         location / {
              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_buffering off;
              proxy_pass http://auth;
         }
       }

       server {
         listen       8108;
         server_name  report;
         location / {
              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_buffering off;
              proxy_pass http://report;
         }
       }

    }


    1 讨论(1)
  • 2022-04-30 12:04
    0 讨论(0)
  • 2022-12-14 11:40

    我也是这么配置的 还是404,麻烦帮忙看看下呢 谢谢 ,nginx 监听的8099端口 后端使用的是8066端口 ,我只用了springboot版本,后端就一个服务

    图片_20221214113736.jpg

    图片_20221214113655.jpg

    图片_20221214113709.jpg

    0 讨论(0)
提交回复