Apache cent OS不允许流量通过

时间:2020-10-26 22:44:49

标签: apache nginx centos

我不确定我继承的设置的名称是什么,但它的工作原理如下:

运行centos和apache的VM(网络防火墙)具有配置,并正在运行以拦截来自外界的所有流量,之后,根据浏览器的要求,它将流量传输到我们的Web服务器(服务我们大多数的网站)或其他为自己提供不同网站服务的机器。

我正在尝试添加一台新机器来服务于我们的covid联系人跟踪。我创建了一个raspberry pi 4(确实需要测试),并运行了django,uswgi和nginx。将上述设备添加到我们的DNS中获取IP地址,然后繁荣使它在本地运行,如果我在工作网络中,则可以通过以下任一方式访问该站点:

covid19.abc.com,因为它是在我们的网络防火墙VM上的apache中定义的,或者我甚至可以直接通过以下网址访问该网站:

webserver2.abc.com:8080是运行DNS条目中的实际计算机。

问题是,如果我不在我的工作网络中,则covid19.abc.com会显示错误消息“ DNS_PROBE_FINISHED_NXDOMAIN”,而且我什至在防火墙上的apache访问日志中都看不到有人在向它发出请求(注意covid19会显示在访问日志中)。

我在启用了etc / httpd / sites-enabled的网络防火墙上执行了以下操作。添加了两个conf文件:

site-covid19.conf

<VirtualHost *:80>
    ServerName covid19.abc.com
    ServerAlias covid19

    Redirect "/" "https://covid19.abc.com/"

</VirtualHost>

site-covid19-ssl.conf (ip 1xx is our external IP address, it is the ip address of the web-firewall vm)

<VirtualHost 1xx.xx.xxx.xxx:443> 
    ServerName covid19.abc.com
    ServerAlias covid19

<If "%{HTTP_HOST} != 'covid19.abc.com'">
    Redirect "/" "https://covid19.abc.com/"
</If>

    ProxyRequests Off
    ProxyPass       /   http://webserver2.abc.com:8080/
    ProxyPassReverse    /   http://webserver2.abc.com:8080/
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

Include extra/ssl-certs
</VirtualHost>

现在我没有该新站点的证书,我知道...我以为我至少可以连接到该站点,然后查看所有缺少证书错误的证书,但不只是DNS_PROBE_FINISHED_NXDOMAIN。

abc.com指向上面的1xx.xx.xxx.xxx IP地址,它是该网络防火墙的IP地址。因此,我假设它位于所有内容的外部,拦截所有443和80的流量,并根据每个conf文件中的规则将其集中到其他位置。

webserver2是一台简单的树莓派4机器,我设置为在nginx和uWSGI下运行该django。它已经启动并运行,我也可以在我们的网络上本地访问它,因为上面提到的cosd19.abc.com或webserver2.abc.com:8080表示的URL非常有效。

只是从外界看到它。我检查了我们的工作路由器/防火墙设备,没有任何规则,似乎让所有443或80流量都通过了1xx.xx.xxx.xxx

因此,不确定在添加启用了站点的conf文件后,我还做了sudo apachectl restart的尝试,但除了apachectl -S似乎没有任何其他作用,它似乎什么也没做:

VirtualHost configuration:
1xx.xxx.xx.xxx:443     is a NameVirtualHost
         default server arc.abc.com (/etc/httpd/sites-enabled/arc-arc-ssl.conf:4)
         port 443 namevhost arc.abc.com (/etc/httpd/sites-enabled/arc-arc-ssl.conf:4)
                 alias arc
         port 443 namevhost covid19.abc.com (/etc/httpd/sites-enabled/site-covid19-ssl.conf:1)
                 alias covid19
         port 443 namevhost www.abc.com (/etc/httpd/sites-enabled/site-www-ssl.conf:4)
                 alias www
                 alias apo.nmsu.edu
*:80                   is a NameVirtualHost
         port 80 namevhost arc.abc.com (/etc/httpd/sites-enabled/arc-arc.conf:4)
                 alias arc
         port 80 namevhost covid19.abc.com (/etc/httpd/sites-enabled/site-covid19.conf:1)
                 alias covid19
         port 80 namevhost web-firewall.abc.com (/etc/httpd/sites-enabled/site-web-firewall.conf:6)
                 alias web-firewall
                 alias web-firewall-users
                 alias web-firewall-users.abc.com
         port 80 namevhost www.abc.com (/etc/httpd/sites-enabled/site-www.conf:5)
                 alias www
                 alias abc.com
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "| /usr/bin/logger -t httpd -i -p local4.error"
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex fcgid-pipe: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex fcgid-proctbl: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
PidFile: "/etc/httpd/run/httpd.pid"
Define: _RH_HAS_HTTPPROTOCOLOPTIONS
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: MODSEC_2.5
Define: MODSEC_2.9
User: name="apache" id=48
Group: name="apache" id=48

对我来说,一切设置正确。我从另一个拥有我们网站的网站上获取了:petdb.abc.com,它是通过类似方式设置的。它是自己的机器,通过wsgi和nginx为Flask应用程序提供服务。只是可以在异地看到一个,而我尝试设置的却不能。

0 个答案:

没有答案