user  web;
worker_processes  auto;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;

    # React 前端服务
    server {
        listen 80;
        server_name web.argus.com;

        root /usr/share/nginx/html;
        index index.html;

        # React 前端路由兼容
        location / {
            try_files $uri /index.html;
        }
    }


    # Master 服务，需要增加 CORS 支持
    server {
    listen 80;
    server_name master.argus.com;

    location / {
        proxy_pass http://master.argus.com;
        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_set_header X-Forwarded-Proto $scheme;

        # CORS 支持
        add_header 'Access-Control-Allow-Origin' 'http://web.argus.com' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;

        if ($request_method = OPTIONS) {
            add_header 'Access-Control-Allow-Origin' 'http://web.argus.com' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
            add_header 'Content-Length' 0;
            add_header 'Content-Type' 'text/plain';
            return 204;
        }
    }
}

}
