amazon-web-services - 使用 NGINX 为网站的 QA 和 WWW 版本设置代理
问题描述
我正在尝试让我的域连接到我的服务器。当域为 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 that never gets hit
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;
}
}
你在 google 的配置没问题。
请记住在更改 nginx 配置后,请进行语法检查:
sudo nginx -t
如果没问题,重新启动 nginx 以应用新配置。
sudo nginx -s reload
你的谷歌配置对我来说也不错。在它工作后,您可以删除一些条目。
推荐阅读
- javascript - 双跳移相器3?
- docker - 找不到“并发”运行 Docker 映像
- performance - Libreoffice / openoffice 服务代理
- c# - 在 SQL Server Management Studio 中创建存储过程时出现语法错误
- watson-studio - 在 Watson Studio 中为 Visual Recognition 框检测标记数据时出错
- android - WebView 在 HTTPS url 上显示 net::ERR_CLEARTEXT_NOT_PERMITTED
- python - 在 os.path.join() 函数中包含通配符以创建文件路径
- android - Andriod Gradle Sync 离线模式失败
- python - 如何使用python从网站实时获取一些数据?
- office365 - 适用于 Web 应用程序的 Office 365 JSON 接口的文档