最後の2日間は、脆弱性(グリーンリーグと技術「リモートセキュリティ評価システム」)および関連の脆弱性のためのホストサイトに対処するため、顧客のためにしている、最も一般的なのは、ソフトウェアのバージョンをアップグレードすることです。
一般的に、あなたは、このアップグレードは8.5.16から8.5.51にアップグレードTOMCAT、1.13.6から1.17.9にnginxのだろう、最新のバージョンにアップグレードすることができます。
次のように最初に配備構成図を簡潔に説明しました:
1、Tomcatの設定
最も一般的なソフトウェアのアップグレードが設定されているが完了した後、Tomcatの設定は、2が存在する場合、変更する必要性は比較的簡単です:
\ confに\ server.xmlを
<コネクタポート= " 9005 "プロトコル= " org.apache.coyote.http11.Http11Nio2Protocol "にredirectPort = " 8443 " のConnectionTimeout = " 20000 "はURIEncoding = " UTF-8 " minSpareThreads = " 25 " enableLookups = " 偽" maxThreadsの = " 500 " acceptCountを= " 500 " />
次のように変更\コンファレンス\ web.xmlの次のラベルウェブアプリのルート構造:
<セキュリティ制約> <ウェブ・リソース・コレクション> の<url-pattern> / * </のurl-pattern> <HTTP-方法> PUT </ HTTP-方法> <HTTP-方法> DELETE </ HTTP-方法> < HTTP-方法> HEAD </ HTTP-方法> <HTTP-方法> OPTIONS </ HTTP-方法> <HTTP-方法> TRACE </ HTTP-方法> </ウェブ・リソース・コレクション> の<auth-制約> </ auth-制約> </セキュリティ制約> <ログイン-config>の <auth-methodの> BASIC </ auth-methodの> < /ログイン-config>の <サーブレット> の<servlet-name>のデフォルト</サーブレット名> <サーブレットクラス> org.apache.catalina.servlets.DefaultServlet </サーブレットクラス> の<init-param>要素 の<param-name>のデバッグ</ PARAM名> <PARAM値> 0 </ PARAM値> < / INIT-param>の の<init-param>の の<param-name>のリスト</ PARAM名> の<param-value>の偽</ PARAM値> </ initの-param>の の<init-param>の の<param-name>の読み取り専用</ PARAM名> の<param-value>の偽</ PARAM値> </ initの-param>の の<load-on-startup> 1 </のload-on-startup> </サーブレット>
2、nginxの設定
\コンファレンス\ nginx.confの構成は次のとおりです。
#USERの誰もいません。 16 worker_processes; error_logのログ/ error.logに。 error_logのログ/ error.logに予告。 error_logのログ/ error.logに情報; イベント{ worker_connections 10240。 } HTTP { のmime.typesを含みます。 default_type application / octet-streamと; オフserver_token; LOG_FORMATメイン'REMOTE_ADDR $ - $ REMOTE_USER [$ time_local] "$依頼"' '$ステータスの$ body_bytes_sent "$ HTTP_REFERER"' ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; access_logのログ/ access.logをメイン; sendfile; 上#tcp_nopush; ##スタート:タイムアウト## サーバー127.0.0.1:9019。 client_body_timeout 10; client_header_timeout 10; keepalive_timeout 30; 10 send_timeout; keepalive_requests 10; ##終了:タイムアウト## に#gzip。 $ http_upgrade $ connection_upgrade {マッピングする デフォルトのアップグレードを、 「」に近いです。 } 上流xuehua { ip_hash。 サーバー127.0.0.1:9005。 サーバー127.0.0.1:9006。 サーバー127.0.0.1:9007。 サーバー127.0.0.1:9008。 サーバー127.0.0.1:9009。 } 上流xuehua2 { ip_hash。 } 上流MYSERVER { ip_hash。 サーバー127.0.0.1:35001; サーバー127.0.0.1:35002; } サーバー{ 8081を聞きます。 サーバー名はlocalhost。 場所^〜/ API /メッセージ{ proxy_passます。http:// MYSERVER /メッセージ。 proxy_http_version 1.1; proxy_set_header $ http_upgradeをアップグレード。 proxy_set_header接続は、「アップグレード」。 proxy_set_header X-のReal-IP $ REMOTE_ADDR。 } 場所^〜/ API / { proxy_passのhttp:// MYSERVER /。 proxy_set_header X-のReal-IP $ REMOTE_ADDR。 } #配置防盗链 場所〜* ^ + \(GIF | JPG | PNG | swfファイル| FLV | RAR |ジップ)$ {。。 proxy_set_header REMOTE-HOSTする$ REMOTE_ADDR; valid_referersのどれもSERVER_NAMESをブロックしていない* .ahcrb.net.cn ます。http:// localhostをbaidu.com。 IF($ invalid_referer){ リライト^ / [スペース] http://ahcrb.net.cn/images/default/logo.gif [/ IMG]。 #リターン403; } } #location / { #は127.0.0.1許します。 #すべてを否定します。 #} 場所/ { proxy_http_version 1.1。 proxy_set_header接続""; proxy_set_header受け入れエンコード「」。 proxy_set_headerホスト$ホスト; proxy_set_header X-のReal-IP $ REMOTE_ADDR。 proxy_connect_timeout 10; proxy_read_timeout 200; proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for。 proxy_set_header $ http_upgradeをアップグレード。 proxy_send_timeout 90; proxy_passます。http:// xuehua2 /。 } error_page 403 404 /404.html。 位置= / 404.html { 内蔵。 } error_page 500 502 503 504 /50x.html。 位置= /50x.html { ルートHTML。 } } サーバー{ 8082を聞きます。 SERVER_NAME 172.16.90.29; 場所^〜/ API /メッセージ{ proxy_passます。http:// MYSERVER /メッセージ。 proxy_http_version 1.1; proxy_set_header接続は、「アップグレード」。 proxy_set_header X-のReal-IP $ REMOTE_ADDR。 } 場所^〜/ API / { proxy_passます。http:// MYSERVER /。 proxy_set_header X-のReal-IP $ REMOTE_ADDR。 } #location / { #は127.0.0.1を許可します。 #すべてを否定します。 #} 場所/ { proxy_http_version 1.1。 proxy_set_header接続""; proxy_set_header受け入れエンコード「」。 proxy_set_headerホスト$ホスト; proxy_set_header X-のReal-IP $ REMOTE_ADDR。 proxy_set_header REMOTE-HOSTする$ REMOTE_ADDR; proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for。 proxy_connect_timeout 10; proxy_read_timeout 200; proxy_send_timeout 90; proxy_passます。http:// xuehua2 /。 } error_page 403 404 /404.html。 位置= / 404.html { 内蔵。 } error_page 500 502 503 504 /50x.html。 位置= /50x.html { ルートHTML。 } } }
図3は、nginxの開始とTomcatの後に、サービスにアクセスするには、サーバー上でローカルに2つの方法があります。
- このよう127.0.0.1:9005としてポートTomcatに直接アクセス、
- アクセスは9005 8081に転送し、その後、要求をこのように127.0.0.1:8081アクセスは複数のエージェントと同等であるかのように、ポートを聞くと、nginxの
4、およびサーバーが同じローカルエリアネットワークコンピュータにアクセス可能です
9005にポートを追加します新規の受信の規則、 - ファイアウォール - あなたが開いているポート9005、コントロールパネルにしたい場合は、ポートが開いて、アクセスのみ許可するポート、または必要があるサーバーのニーズは、新しいインバウンドルールを作成することに注意してください。
あなたは、テストのnginxで2つのアドレスを設定する場合は、図5に示すように、それは2年、2つのモニターポートnginxのサーバーを設定する必要があります。Tomcatをマッピングする各サーバは、その後、あなたは2つの環境を設定するために行うことができ、古いコードと新しいコード2 Tomcatの下に置かれました。
また、リスニングポートを開くように注意してください。次のように異なるサービスアクセスポートに応じて、この場合の構成は以下のとおりです。