I've created another instance of Tomcat(port: 81) to run a different application in a server. Tomcat is running successfully but I want to run apache web server on top of it. So, I copied existing apache in another folder and configured to the another instance of tomcat. I'm facing below error. Your help will be greatly appreciated.
enter image description here
It would appear that both instances are configured to also listen for https connections on the default port (443), i.e. while you may have configured them to listen on different http ports (i.e. 80 and 81), you haven't done the same for https.
First, something else is already using that 443 port, so try 8443.
Also, technically, you can install Tomcat twice using different service names, but why. The beauty of Tomcat is using one installation for multiple applications.
Tomcat is intended to support multiple apps. With a .war file you simply upload your .war file to web apps folder. Tomcat will automatically extract the war file.
To run app as ROOT application, delete the ROOT folder in Tomcat. Rename the .war file for the app you want to install to ROOT.war, it will extract to ROOT folder and you will access it from http://servername:8080, if you kept the default settings of the tomcat connector.
Now, to add a second application, copy a .war file to Tomcat webapps folder, with a different name other than ROOT.war, such as example.war. It will automatically extract the .war file into an example folder. To access that application, go to http://servername:8080/example. You will not have two Tomcat connectors for port 8080, just the 1, and you will access non-ROOT webapps via a context path.
Option 1:
If you want to use TLS in Tomcat, you need to uncomment the 8443 connector in Server.xml. You also need to create a keystore, and put in that keystore information in Server.xml to allow TLS.
Option 2(Doesn’t work with option 1, unless you pick a different port):
If you want a web server with TLS, then set Apache Web Server to listen on 8443, which will also require creating a key store and virtual host file in Apache Tomcat, but leave the Tomcat port at 8080 as it normally would be. Then use virtual host settings on Apache Web Server to proxy to the Tomcat apps (jumping from 8443 to the 8080 ports on the same host with Tomcat only listening on 127.0.0.1 or different hosts with proper network separation so people can’t get around the Web Server). Apache2 would be listening at the Web
Server FQDN.
Example:
Skip the Apache Web Server, and use different context path settings (as needed) for each tomcat application on the single 8443 port. (Make sure Apache2 is no longer using 8443).
ROOT app:
User—>https://servername:8443
App2:
User—>https://servername:8443/app2
Using Apache Web Server, you would proxy from port 8443 to 8080. Apache Web Server listening on 8443, Tomcat listening on 8080. TLS encryption would be at the Web Server. The connection between the Apache2 and Tomcat would be unencrypted on the same server.
This is a pretty thorough example of reverse proxy:
https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension
User—>https://servername:8443–>http://localhost:8080
Using Xampp on my Windows Server I recently installed some web apps using tomcat. Using the Apache to access phpMyAdmin. After deploying I noticed I access the tomcat webapp using a URL like this: domain.com:8080/someapp/.
I do not like that but the internet says its good for some security reasons so I did not change the port from 8080 to 80 in the server.xml.
But I want the end-user not to access my app using :8080 in the URL.
How can I redirect my Apache to Tomcat witgout losing my access to phpMyAdmin?
I am using tomcat on Linux centOs server. I want my java application is working fine on mydomain.com:8080. I want that my when some one hit the domain mydomain.com it automatically move to my java application.
Changin server.xml didm't worked for me. as i am also having apache2 on the server
I guess you have an apache server in port 80. I you do not want to remove apache and change directly the tomcat port ( see comments), you will need to redirect all traffic from port 80 to port 8080.
This can be done using tomcat connectors. They are plugins to connect web servers with Tomcat. When a HTTP request arrives, the plugin checks is it has to be redirected, connects to tomcat and returns the response to server
In the case of apache is needed to install mod_jk. In the link you can see the configuration
How to deploy my web-application on Tomcat so that it can be accessed by using IP of the server alone?
Note: I have Tomcat running on port 80.
you need to deploy tour application in the ROOT context (rename your app.war to ROOT.war). Check if there is on webapps directory of tomcat the default ROOT webapp that comes with it.
I am running Tomcat Apache server for solr and I my web interface is based on IIS. I was wondering if it is possible that I run both IIS and Tomcat server on the same machine and with each other.
run them on different ports and you should be good to go. you can access them through the ports as follows:
localhost:80/myIISSite or localhost/myIISSite (default http port)
localhost:8080/myApacheWebsite
Configuring apache to listen on specific ports
For IIS:
Open up IIS Manager.
Open the properties windows of Default Web Site.
Select the Web Site Tab.
Under web site identification, you can change the default 80 port or you can click on Advance tab and then can change the default 80 port.
Yes, buy they will have to use different ports. INstall one and start it on the standard ports (80 for http, 443 for https) then install and configure the other to start on another set of ports.