ec2 实例和负载均衡器反向代理 Nginx
Posted
技术标签:
【中文标题】ec2 实例和负载均衡器反向代理 Nginx【英文标题】:ec2 instance and load balancer reverse proxy Nginx 【发布时间】:2022-01-03 03:42:54 【问题描述】:当谈到负载均衡器时,我对 nginx 配置有点困惑。
这是我的情况。
在 aws 上,我有一个负载均衡器来控制 2 个 ec2 实例的流量。
Nginx 的默认配置工作得很好,事实上,如果我在浏览器中直接打开 ec2 实例 IP,我会看到 nginx 页面。如果我点击负载均衡器 dns 名称,我会看到 nginx 默认页面。
用于演示目的。我将我的 nginx.conf 配置如下:
server
listen 80; ## listen for ipv4; this line is default and implied
listen vm-ip:80;
server_name vm-ip;
root /usr/share/nginx/html;
index index.html;
server_tokens off; # disable the Server nginx header
# enable gzip
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
image/svg+xml;
location /
# try_files $uri /index.html; # redirect all request to index.html
proxy_pass https://<dns of website I want to be redirected to>;
我为两个 ec2 实例设置了相同的 nginx.conf。完成此配置后,我尝试直接访问 ec2 实例的 ip,并正确重定向到我想要的网站。但是问题来了,当我尝试在浏览器中打开负载均衡器时,我仍然看到 nginx 默认页面。
谁能解释一下我在这里做错了什么?
如果我的问题不够清楚,请向我询问更多信息,我将非常乐意提供答案。
非常感谢您
【问题讨论】:
【参考方案1】:问题已解决。问题是 server_name
我必须将其指向负载均衡器 A 记录。
【讨论】:
以上是关于ec2 实例和负载均衡器反向代理 Nginx的主要内容,如果未能解决你的问题,请参考以下文章
Nginx入门教程-简介安装反向代理负载均衡动静分离使用实例