我在Java应用程序上有一个问题,我们最近迁移到Azure平台。该应用程序在tomcat上运行,并通过Ansible自动部署。该应用程序需要通过代理对API进行一些HTTP调用,因此我们通过setenv.sh中的代理参数,这是代码的一部分:
vars:
tomcat_java_options:
- 'https.proxyHost=xx.xx.xx.xx'
- 'https.proxyPort=8080'
setEnv:
{% if tomcat_java_options is defined %}
JAVA_OPTS="$JAVA_OPTS {{ '-D'~tomcat_java_options|join(' -D') }}"
{% endif %}
问题是:每天早晨,应通过代理的请求正在计时。我们可以从Netstat中看到请求直接进入API而无需通过代理。在服务器上,我们可以通过Curl(带代理)加入API。通过重新启动tomcat来解决问题,直到第二天早上。
有人有解释吗?非常感谢
只要代理可用并且工作(通过它的连接不会失败)Tomcat
将使用它。无效的代理连接后,它将不再使用(当然要直到重新启动)。您确定夜间代理没有任何问题吗?