Amazon web services 使用NGINX为网站的QA和WWW版本设置代理

Amazon web services 使用NGINX为网站的QA和WWW版本设置代理,amazon-web-services,nginx,nginx-config,google-domains,Amazon Web Services,Nginx,Nginx Config,Google Domains,我正在尝试让我的域连接到我的服务器。当域名为www.website.com时,我的网站工作正常,但当我尝试使用qa.webite.com时,它不工作。我知道我的上游开发正在工作,因为我能够使它与IP1一起工作。我的问题是我不能让它与第二个IP2服务器块一起工作 这是我在谷歌域名上的设置。 这是我的nginx.conf worker_processes auto; error_log /home/ubuntu/nginx_error.log; pid /home/ubuntu/nginx.pi

我正在尝试让我的域连接到我的服务器。当域名为www.website.com时,我的网站工作正常,但当我尝试使用qa.webite.com时,它不工作。我知道我的上游开发正在工作,因为我能够使它与IP1一起工作。我的问题是我不能让它与第二个IP2服务器块一起工作

这是我在谷歌域名上的设置。

这是我的nginx.conf

worker_processes auto;

error_log /home/ubuntu/nginx_error.log;
pid /home/ubuntu/nginx.pid;

events {
        worker_connections 1024;
}

http {
  proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=2g inactive=60m use_temp_path=off;

  upstream master {
    ip_hash;
    server 127.0.0.1:6001;
    server 127.0.0.1:6002;
    keepalive 100;
  }

  upstream dev {
    ip_hash;
    server 127.0.0.1:6003;
    server 127.0.0.1:6004;
    keepalive 100;
  }

// This works
  server {
    listen IP1:80;
    server_name IP1;

    location / {
      resolver 8.8.8.8;

      proxy_set_header Host  $host;
      proxy_set_header X-Forwarded-For $remote_addr;

      proxy_cache my_cache;
      proxy_cache_min_uses 3;
      proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
      proxy_cache_background_update on;
      proxy_cache_lock on;
      proxy_pass http://master;
    }

    location /docker {
      proxy_pass http://localhost:8080;
    }
  }

// This never gets hit.
  server {
    listen IP2:80;
    server_name IP2;

    location / {
      resolver 8.8.8.8;

      proxy_set_header Host  $host;
      proxy_set_header X-Forwarded-For $remote_addr;

      proxy_cache my_cache;
      proxy_cache_min_uses 3;
      proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
      proxy_cache_background_update on;
      proxy_cache_lock on;
      proxy_pass http://dev;
    }
  }
}

我可以在云中进行这样的配置

在您的
服务器中,永远不会被击中

server {
  listen 80 default_server;
  server_name qa.mavega.org;

location / {
  resolver 8.8.8.8;

  proxy_set_header Host  $host;
  proxy_set_header X-Forwarded-For $remote_addr;

  proxy_cache my_cache;
  proxy_cache_min_uses 3;
  proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
  proxy_cache_background_update on;
  proxy_cache_lock on;
  proxy_pass http://dev;
  }
}
你在谷歌的配置还可以

记住在更改nginx配置之后, 执行语法检查:

sudo nginx -t
如果没有问题,请重新启动nginx以应用新配置

sudo nginx -s reload

你的谷歌配置在我看来也不错。工作完成后,您可以删除一些条目。

结果表明,我必须在aws机器上设置IP,而不仅仅是在浏览器中


本指南应该会有所帮助

我会尝试看看这是否有效,但我确实想使用IP,因为我将有多个域指向同一IP。我的应用程序根据我传递给它的主机名呈现。这不起作用。我觉得这是AWS的一个问题,但我也一直回到那个服务器块。