前端微服务子应用nginx配置

解决相对路径404问题

upstream api {
  ip_hash;
  server 192.168.190.46:31181 weight=1;
}

server {
  listen 80;
  listen [::]:80;
  server_name localhost;


  #/etc/nginx/conf.d/default.conf
  #charset koi8-r;
  #access_log  /var/log/nginx/host.access.log  main;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ index.html;
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
  }

  location /app/datamanager {
    root /usr/share/nginx/html;
    rewrite  '^/app/datamanager(.*)$' $1 break;
    index index.html index.htm;
    try_files $uri $uri/ index.html;
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
  }


  location /api/users/ {
    proxy_pass http://api/springboot/users/;
    proxy_set_header Host $http_host;
    proxy_set_header remote-user-ip $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forward-For $remote_addr;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
  }

  location /api/onemap {
    proxy_pass http://api/springboot/onemap/;
    proxy_set_header Host $http_host;
    proxy_set_header remote-user-ip $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forward-For $remote_addr;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Credentials' 'true';
  }

  #error_page  404              /404.html;

  # redirect server error pages to the static page /50x.html
  #
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root /usr/share/nginx/html;
  }

  # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  #
  #location ~ .php$ {
  #    proxy_pass   http://127.0.0.1;
  #}

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  #location ~ .php$ {
  #    root           html;
  #    fastcgi_pass   127.0.0.1:9000;
  #    fastcgi_index  index.php;
  #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
  #    include        fastcgi_params;
  #}
  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  #location ~ /.ht {
  #    deny  all;
  #}
}
原文地址:https://www.cnblogs.com/Leechg/p/13614418.html