如果我通过 AWS 弹性 IP 发出请求,Nginx 不处理请求



i具有2个接口ET0和ET1的EC2实例。我分配给了2个弹性IP的接口。ET0效果很好,通过该listen 80 default_server; NGINX配置,服务器对分配给IP的IP提出的请求。在/etc/nginx/sites-available/default中,我为第二个接口ET1进行了配置:

server {
    listen 172.31.13.104:80;
    #listen [::]:80 default_server;
    server_name example2.com;
    return 301 http://google.com;
}

如果我从第二个AWS实例提出请求到172.31.13.104,我会收到正确的重定向到Google。但是,当我使用公共弹性搜索请求时,一直在等待。当我在et1上的服务器上运行tcptruck,然后在计算机上向弹性IP提出请求,在服务器中,我会看到该请求和请求的状态仍然显示SYN_SENT。我该怎么做才能使Nginx正常工作?

编辑: 172.31.13.104et1的私人IP

我有同样的问题,这就是我解决的问题。您需要两个具有自己的IP的ENIS,您需要将它们配置为它们各自的域,然后为两个连接中的每个连接创建一个配置文件。

以下是我在RHEL服务器上必须执行的工作。

$ cd /etc/sysconfig/network-scripts
 $ sudo cp ifcfg-eth0 ifcfg-eth1
$ sudo vi ifcfg-eth1

- 更改设备=" eth0"到device =" eth1"并保存了文件

  $ sudo vi /etc/rc.local
 -- added the following lines and saved the file ip route add default via 172.31.48.1 dev eth0 table 20 ip rule add from 172.ip1 table 20 ip
 route add default via 172.31.48.1 dev eth1 table 21 ip rule add from
 172.ip2 table 21

- 请用接口的网关替换172.31.48.1(您将从"路由-N"输出获得此信息( - 用ETH0的私有IP地址和172.IP2替换为ETH1的私有IP地址(您将从" IfConfig"输出中获得这些(

$ sudo chmod +x /etc/rc.local

之后,请重新启动或停止/启动实例,一旦实例启动,您将可以使用任何一个EIPS登录。登录后,您可以通过运行以下命令来验证两个接口是否可以通过Internet进行通信:

$ ping -I eth0 google.com (this will ping google.com from interface eth0)
$ ping -I eth1 google.com (this will ping google.com from interface eth1)

您应该从两个ping中得到ping响应。

完成此操作后,您需要在Apache [5]中配置基于IP的虚拟主机。这将使您从不同目录中获取不同域/子域的不同目录的不同内容。

然后,您需要创建一个资源记录集[6],以将称为" poc.domain.com"子域的流量路由到IP地址(在您的情况下为ETH1的EIP(。

最后,您需要根据您的要求将每个ENIS(ETH0和ETH1(的安全组[7]关联。

我自己解决的问题。我的IP路线的规则不正确,这里是教程如何配置该IP表https://www.lisenet.com/2014/create-and-create-and-attach-a-a-a-a-second-elastic-network-intork-intork-interwork-interface-with-eip-with-eip--ec2-vpc-instance/

最新更新