【问题标题】:Apache https request status pending for some requests and 502 status is returnedApache https 请求状态等待某些请求并返回 502 状态
【发布时间】:2019-12-10 18:55:24
【问题描述】:

我已经在 EC2 和 tomcat 上部署了服务器。我从 goDaddy 购买了域名。我正在使用带有 mod_ssl 的 HTTPD 进行 URL 重定向。当我尝试访问我的服务器时,某些请求处于挂起状态,但是当我刷新浏览器或重新提交请求时,数据会被加载。

我观察到只有一些请求失败,无论我使用的是 preworker 还是 worker。我已经监控了 tomcat 到 apache 的请求日志,但是 apache 请求没有被重定向到 tomcat 来处理这些请求。

这现在阻止了我的生产流量,因为用户无法顺利访问此应用程序。

我尝试通过 IP 访问该应用程序,但我没有遇到 502 的问题,但是当我在 https 上使用 DNS 使用它时,它会阻止一些请求并给出 502。

当前部署的服务- 1. 雄猫 2.索尔 3. mysql 4.阿帕奇

系统配置

  • 内存 8 GB
  • 交换 16 GB
  • 核心 2

系统上的活跃用户 - 100+

APACHE 配置 /etc/httpd/conf/httpd.conf

<IfModule mpm_worker_module>
KeepAlive on
StartServers 5
MinSpareThreads          15
MaxSpareThreads         100
ServerLimit 10
MaxRequestWorkers 200
MaxRequestsPerChild 4000

</IfModule>

/ssl.conf

<Proxy *>
    Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /mdt http://13.2XX.XXX.XX:9090/appName retry=1 acquire=3000 timeout=600 Keepalive=On
    ProxyPassReverse /mdt http://13.2XX.XXX.XX:9090/appName
</VirtualHost>

Tomcat 配置-/conf/server.xml

 <Connector port="9090" protocol="HTTP/1.1"
               connectionTimeout="120000"
               acceptCount="200"
               maxThreads="3200"
               minSpareThreads="80" 
               maxSpareThreads="160"
               compression="on"
               compressableMimeType="text/html,text/xml,text/plain"   
               redirectPort="8443"
/>

我还观察到 Apache 没有释放导致服务器崩溃的占用内存,我必须监控并在内存达到 90% 时重新启动 apache。

谁能帮帮我!!任何帮助将不胜感激

【问题讨论】:

  • Tomcat 提交者在这里。是否有任何令人信服的理由使用 HTTPd? Tomcat 也将完美地执行 OpenSSL。
  • @Michael-O 是的。我正在使用同样部署在同一台服务器上的 react 应用和 wordpress 网站。

标签: apache ssl tomcat httpd.conf mod-ssl


【解决方案1】:

我在 apache virtualhost 中添加了下面的配置来解决这个问题。

< VirtualHost XXXX>
<Proxy *>
    Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /mdt http://13.2XX.XXX.XX:9090/appName retry=1 acquire=3000 timeout=600 Keepalive=On
    ProxyPassReverse /mdt http://13.2XX.XXX.XX:9090/appName

 SetEnv force-proxy-request-1.0 1
 SetEnv proxy-nokeepalive 1
</VirtualHost>

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2019-05-29
    • 2021-10-28
    • 2016-05-11
    • 1970-01-01
    • 2015-12-08
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多