簡體   English   中英

Apache 2.4.6 Https頁面緩慢問題

[英]Apache 2.4.6 Https Page slowness issue

我配置了Apache 2.4服務器,該服務器用作tomcat的代理服務器。 我的Tomcat上部署了兩個(也許更多)應用程序,並且都只能使用apache Web服務器IP和端口(443-https)進行訪問。

但是,每當我嘗試訪問Login.htm頁面時,加載單個頁面花了將近10到15秒。 當我嘗試使用用戶名和密碼登錄時,這里的歡迎頁面需要1分20秒才能加載。

但是,在我的本地環境(本地IP和端口(8080-http))中,登錄頁面花了1秒,歡迎頁面花了3-4秒。 注意-我的本地環境中沒有配置apache網絡服務器。

我在apache網絡服務器上嘗試了許多性能調整方法,但沒有一個對我有用。 我不確定這里缺少什么。 任何幫助表示贊賞。 提前致謝。

以下是我的apache服務器配置。

Listen 443 https

SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog

SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout  300

SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin

SSLCryptoDevice builtin

<VirtualHost <APP_SERVER_IP_ADDR>:443>

ServerName <APP_SERVER_IP_ADDR>
ServerAlias <APP_SERVER_IP_ADDR>

ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log
LogLevel info

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    ProxyRequests     Off
    SSLProxyEngine  On
    ProxyPreserveHost On
    RewriteEngine On
    HostnameLookups off

    <Proxy <APP_SERVER_IP_ADDR>:443>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass         /application1 http://<WEB_SERVER_IP_ADDR>:9660/application1
    ProxyPassReverse  /application1 http://<WEB_SERVER_IP_ADDR>:9660/application1

    ProxyPass         /application2 http://<WEB_SERVER_IP_ADDR>:9660/application2
    ProxyPassReverse  /application2 http://<WEB_SERVER_IP_ADDR>:9660/application2

    <Location /proxy/>
      ProxyPassReverse /
      Order deny,allow
      Allow from all     
    </Location> 

    Header edit Location ^http://<APP_SERVER_IP_ADDR>/ https://<APP_SERVER_IP_ADDR>/

    Timeout 10
    ProxyTimeout 10
    ProxyBadHeader Ignore

</VirtualHost>

在深入研究apache API之后,我終於發現我的應用程序存在一個大問題。

我們正在嘗試在生產系統中實現3層架構。 當我們使用從Web服務器到App Server的apache Web服務器(作為代理服務器)時,有許多Js,CSS和圖像文件從我的應用程序傳輸。

當用戶從WebServer請求Login.htm(或訪問任何其他頁面)時,我的應用程序服務器將響應此請求。 由於有許多Js,CSS和圖像文件從App傳輸到Web,最后從Web傳輸到瀏覽器,因此Signle請求耗時約15秒。

為了克服這種情況,我將所有與Js,CSS和圖像相關的文件移至Web服務器。 因此,所有與HTML相關的內容現在都從Web服務器而不是從應用程序服務器加載。 為此,我在ssl.conf中添加了以下幾行

DocumentRoot "/var/www/html"
ProxyPass /application1/resources !

DocumentRoot中存在的路徑是我的Web服務器的上下文路徑,在其中我創建了“ application1”目錄,並添加了“ resources”目錄,其中包含所有js,css和圖像文件。

現在,我的應用程序需要4-7秒來加載Login.htm頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM