Konfiguracja Virtual Hosts & Apache Tomcat & Protokołu AJP
Konfiguracja Virtual Hosts & Apache Tomcat & Protokołu AJP
Dzisiejszy wpis pokaże w jaki sposób opublikować projekt aplikacji webowej spakowanej do pliku WAR na serwerze Apache Tomcat z użyciem wirtualnych hostów oraz protokołu AJP. W opisany niżej sposób wdrożona została aplikacja http://unicode-converter.javaleader.pl/ – więcej o aplikacji można dowiedzieć się na stronie wpisu: https://javaleader.pl/2019/06/11/konwersja-znakow-unicode/.
Konfiguracja pliku /etc/apache2/sites-available/000-default.conf – przekierowanie typu 301 do http:
ProxyRequests Off ProxyPreserveHost on <VirtualHost example.pl:80> ProxyRequests off ServerName example.pl Redirect 301 / http://example.pl </VirtualHost>
Konfiguracja http – https://javaleader.pl/2019/06/07/certyfikat-ssl-na-vps/:
<VirtualHost example.pl:443> ServerName example.pl ServerAlias example.pl SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4" SSLCertificateChainFile /etc/letsencrypt/live/example.pl/fullchain.pem SSLCertificateFile /etc/letsencrypt/live/example.pl/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.pl/privkey.pem ProxyRequests On ProxyVia On ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ </VirtualHost>
Można również dodać nazwę aplikacji dostępnej na serwerze Apache Tomcat:
ProxyRequests On ProxyVia On ProxyPass / <strong>ajp://localhost:8009/example-app-0.0.1-SNAPSHOT/</strong> ProxyPassReverse / <strong>ajp://localhost:8009/example-app-0.0.1-SNAPSHOT/</strong>
Konfiguracja pliku /apache-tomcat-8.0.30/conf/server.xml:
Protokół Apache JServ (AJP) to metoda umożliwiająca komunikację serwera webowego np. Apache Web Server z serwerem aplikacji np. Apache Tomcat.
... <Service name = "Catalina"> ... <Connector port="8090" protocol = "HTTP/1.1" connectionTimeout = "20000" URIEncoding = "UTF-8" redirectPort = "8443" maxThreads = "300" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> ... </Service> ...
... <Engine name="Catalina" defaultHost="localhost"> ... <Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies = ".*" remoteIpHeader = "x-forwarded-for" remoteIpProxiesHeader = "x-forwarded-by" protocolHeader = "x-forwarded-proto" /> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className = "org.apache.catalina.valves.AccessLogValve" directory = "logs" prefix = "localhost_access_log" suffix=".txt" pattern = "%h %l %u %t "%r" %s %b" /> </Host> </Engine> ...
Leave a comment