Apache 上的 Flask 应用无法访问网络

Network is unreachable for Flask app on Apache

我有一个简单的 Flask 应用程序托管一个用于将数据输入到本地数据库的表单。 我正在使用 python zeep 验证带有 wdsl 服务的字段之一(只需检查 http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl 是否存在增值税) 应用程序服务器位于公司代理之后。 http_proxy 和 https_proxy 都已设置。 wdsl 服务 returns 测试时预期的数据(本地主机,或 运行 直接使用 python 验证功能) 当我 运行 使用 Apache2 的应用程序时,突然无法访问网络。我相信我在 Flaskapp.conf 中遗漏了一些配置,这些配置会通过企业代理路由流量。 有人可以 help/direct 我吗? 谢谢。

urlib3 错误:

File "/home/administrator/v_env/flaskapp/lib/python3.6/site-packages/urllib3/connection.py", line 170, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "/home/administrator/v_env/flaskapp/lib/python3.6/site-packages/urllib3/util/connection.py", line 96, in create_connection
raise err
File "/home/administrator/v_env/flaskapp/lib/python3.6/site-packages/urllib3/util/connection.py", line 86, in create_connection
sock.connect(sa)
OSError: [Errno 101] Network is unreachable 

Flaskapp.conf

<VirtualHost *:80>
                ServerName $stationIP
                ServerAdmin name@domain.com
                WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
                <Directory /var/www/FlaskApp/FlaskApp/>
                        Order allow,deny
                        Allow from all
                </Directory>
                Alias /static /var/www/FlaskApp/FlaskApp/static
                <Directory /var/www/FlaskApp/FlaskApp/static/>
                        Order allow,deny
                        Allow from all
                </Directory>
                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

验证函数

    def validate_vat(self, vat):
        transport = Transport(timeout=10)
        try:
            client = Client('http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl', transport=transport)
            client.transport.session.proxies = {'http':'http://<proxy.server.com>:9090'}
            response = client.service.checkVat(vat.data[0:2].upper(), vat.data[2:])
        except:
            raise wtforms.validators.ValidationError('VAT validation service unavailable. Please try again later')

        if not response.valid:
            raise wtforms.validators.ValidationError('Not a valid VAT')

配置Apache2槽 /etc/apache2/envvars 通过添加 export http_proxy='<your_proxy>:<port>' 解决了这个问题。