2017-11-27 5 views
0

Tomcatが提供するSSL追跡モードを使用してセッション追跡を使いたい。 tomcatは、Apacheサーバまたはnginxサーバのetherの後ろにあり、sslを介してクライアントに通信します。nginxを使ったTomcat SSL追跡モード

問題は次のとおりです。TomcatがSSL用に設定されている限り、nginxはそれにリダイレクトしません。

現在、nginxサーバーはこの方法で構成されています。

それは、HTTPサーバーの背後にSSLベースの追跡を使用することが可能です:

server { 
    listen  443 ssl; 
    server_name localhost; 

    ssl_certificate  cert.pem; 
    ssl_certificate_key key.pem; 

    ssl_session_cache shared:SSL:1m; 
    ssl_session_timeout 5m; 

    ssl_ciphers HIGH:!aNULL:!MD5; 
    ssl_prefer_server_ciphers on; 
    location/{ 
       proxy_ssl_server_name on; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_ssl_session_reuse off; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 
     proxy_pass https://127.0.0.1:8443/; 

    } 

} 

Tomcatは、私はいくつかの疑問を持っているので

<Connector 
     protocol="org.apache.coyote.http11.Http11NioProtocol" 
     port="8443" maxThreads="200" 
     scheme="https" secure="true" SSLEnabled="true" 
     keystoreFile="${user.home}/.keystore" keystorePass="changeit" 
     clientAuth="false" sslProtocol="TLS"/> 


    <Valve className="org.apache.catalina.valves.RemoteIpValve" 
     remoteIpHeader="x-forwarded-for" 
     remoteIpProxiesHeader="x-forwarded-by" 
     protocolHeader="x-forwarded-proto"/> 

として設定されていますか? 特殊なコネクタが必要ですか?

答えて

0

AJPコネクタを試してください。すると、フロントエンドは必要な情報を転送します(他にもSSLセッション)。このためには、フロントエンドのプロキシ・パスをajpプロトコルを使用するように変更する必要もあります。

関連する問題