2017-03-29 15 views
0

Tomcatのプロキシサーバーとして使用されていたApache 2.4サーバーを構成しました。私のTomcatには2つのアプリケーション(多分)が配備されています。&はどちらもapache WebサーバーのIPとポート(443-https)を使ってのみアクセス可能です。Apache 2.4.6 Httpsページの遅さの問題

しかし、Login.htmページにアクセスしようとするたびに、1ページを読み込むのにほぼ10-15秒かかりました。ユーザー名&のパスワードを使用してログインしようとしたとき、ここにウェルカムページがロードされるのに1分20秒かかりました。

しかし、私のローカル環境(ローカルIPとポート(8080-http))では、ログインページ&がウェルカムページのために1秒かかりました。注 - 私のローカル環境に設定されているApache Webサーバーはありません。

私はApache Webサーバーで多くのパフォーマンスチューニング方法を試しましたが、どれも私のために働いていませんでした。私はここに何が欠けているか分からない。どんな助けもありがたい。 ありがとうございます。

以下は私の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> 

答えて

0

Apache APIに多くの情報を書き込んだ後、私のアプリケーションに大きな問題があることがわかりました。

私たちは本番システムで3層アーキテクチャを実装しようとしています。 WebサーバーからApp Serverへの(プロキシサーバーとしての)Apache Webサーバーを使用しているので、アプリケーションから転送されたJs、CSS、およびイメージファイルが多数あります。

ユーザーがWebサーバーからLogin.htm(または他のページにアクセスする)をリクエストすると、このリクエストは私のアプリケーションサーバーによって応答されます。多くのJがあるので、CSSと画像ファイルはAppからWebに、そしてWebからブラウザに転送され、signle要求は約15秒かかります。

このような状況を克服するため、Js、CSS、画像関連のファイルをすべてWebサーバーに移動しました。だから、すべてのHTML関連のものは、Webサーバーからロードされ、アプリケーションサーバーからはロードされません。このために、私はちょうど私のssl.confにラインの下に追加

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

のDocumentRootのパス存在は、私が「アプリケーション1」ディレクトリを作成し、「リソース」ディレクトリのすべてのjsを追加私のWebサーバのコンテキストパスで、 CSSとイメージファイルが存在します。

私のアプリケーションは、Login.htmページを読み込むのに4~7秒かかります。