2016-03-28 68 views
0

我們在同一個網絡中有兩個apache 2.4.6 web服務器和一個hybris tomcat 7服務器,我需要使用mod_proxy配置web服務器以將http和https請求轉發到hybris服務器和web服務器有不同的域名。我的問題是如何配置tomcat接受來自兩個不同域名的請求,並且proxyName參數已足夠。以下是我的基本mod_proxy配置。將兩個Web服務器https和http請求轉發到單個hybris tomcat服務器

LoadModule headers_module modules/mod_headers.so 
LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
LoadModule proxy_connect_module modules/mod_proxy_connect.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule ssl_module modules/mod_ssl.so 

<VirtualHost *:80> 
DocumentRoot /var/www/html 
ProxyPreserveHost On 
ProxyPass/http://tomcatserver.ip:9001/ 
ProxyPassReverse/http://tomcatserver.ip:9001/ 
</VirtualHost> 

<VirtualHost *:443> 
    DocumentRoot /var/www/html 
    ProxyPreserveHost On 
    ServerName webserver.ip 
    SSLEngine on 
    SSLProxyEngine On 
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off 
    SSLProxyCheckPeerName off 
    SSLProxyCheckPeerExpire off 
    ProxyPass/https://tomcatserver.ip:9002/ 
    ProxyPassReverse/https://tomcatserver.ip:9002 

    SSLCertificateFile /etc/ssl/certs/webserverdomain.crt 
    SSLCertificateKeyFile /etc/ssl/certs/webserverdomain.key  
    </VirtualHost> 

server.xml configuration

<Connector port="${tomcat.http.port}" maxHttpHeaderSize="8192" maxThreads="${tomcat.maxthreads}" protocol="org.apache.coyote.http11.Http11Protocol" executor="hybrisExecutor" enableLookups="false" acceptCount="100" connectionTimeout="20000" URIEncoding="UTF-8" disableUploadTimeout="true" proxyName="webserverdomainname" proxyPort="80" /> /> <Connector port="${tomcat.ssl.port}" maxHttpHeaderSize="8192" maxThreads="150" protocol="org.apache.coyote.http11.Http11Protocol" executor="hybrisExecutor" enableLookups="false" acceptCount="${tomcat.acceptcount}" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" SSLEnabled="true" proxyName="webserverdomainname" proxyPort="443" scheme="https" secure="true" clientAuth="false" sslProtocol = "TLS" keystoreFile="${catalina.home}/lib/keystore" keystorePass="123456"enter code here

回答

2

如果我理解正確,你有2臺與你想連接到相同的Tomcat款Hybris 2個不同域名的Apache Web服務器。

如果這是正確的,那麼您需要配置的唯一一件事就是配置Hybris網站的URL映射來捕獲所有必需的域名。

而且有關代理的名稱,從Tomcat 7的文件:

代理名稱:如果在一個代理配置中使用此連接器, 配置該屬性指定的服務器名稱進行退換 調用request.getServerName()。有關更多 信息,請參閱代理支持。

如果您必須配置Tomcat以匹配不同的域名與不同的主機請看the host container

+0

感謝@Benoit Vanalderweireldt,我會試試這個,讓你知道結果。 – rakiarchana

相關問題