Is it possible to run IIS and Tomcat side by side? - iis

I am required to publish a JSP/Java servlets webapp. Unfortunately IIS does not support such deployments. The server I need to deploy it on already runs IIS and several IIS applications. I don't want to interfere with those applications but it is necessary for them and the new webapp to run on the same server. I tried setting up a proxy to redirect traffic to tomcat, but that broke the other applications.
I was wondering if it's possible to run IIS (accessible through good ol' port 80) and tomcat (running on port 8080); and be able to access both remotely. So far my efforts have been fruitless. Accessing IIS applications yielded no problems, but when I tried to connect to tomcat the browser would just time out. I unblocked port 8080 as well, so I'm sure that is not the issue.
Any help appreciated, thanks.

It's definitely possible, as long as they run on different ports. If you can access tomcat locally (http://localhost:8080) but not remotely, then it's a firewall issue. Also, if you really wanted you could have iis forward requests to tomcat.

You can arrange IIS and Tomcat in 2 different IP addresses or you can setup reverse-proxy (nginx, lighttpd, mod_proxy, etc.) to port 80 and then set IIS to use port 8080 and for Tomcat port 9090.

Melder, It is perfectly possible to run IIS & Tomcat on same port with Different IPs. One server can have multiple virtual IPs for the same.

Related

In Azure NGINX server is running but website is not loading

I have been having trouble connecting to my virtual machines in Azure since yesterday. So to test I created a new marketplace ubuntu 18.04 image VM and installed nginx, without changing anything.
I expected that navigating to the ip would give me the default nginx website as it usually does but instead it just times out and declares it inaccessible. Nginx is running fine according to systemctl and ufw is disabled as it comes by default in azure images.
Has anyone experienced this before?
As can be seen in your screenshot, Port 80 is not open in your Network Security Group. This is why you are not seeing NGINX.
"DenyAllInBound" will deny all inbound traffic which has not been explicitly allowed by other rules with higher priority.
https://learn.microsoft.com/en-us/azure/virtual-network/tutorial-filter-network-traffic

Jira, Tomcat and JBoss behind Apache

I need to install these environment in the same machine.
Jira : ( installer, port: 8080, tomcat-jira)
Tomcat : ( tomcat for other applications, port: 8084 )
JBoss : ( port: 8086 )
Apache2: (as a proxy, mod_proxy, port: 80)
First I´d install Jira as a service, with their installer, so, It came with a tomcat embed, port 8080.
Then I installed apache as a proxy, It worked, I can now acces the jira like this: debian.local/jira intead of debian.local:8080.
But when I put tomcat in the same server the problems began:
I changed the tomcat ports on connectors and shutdown, but when I start it, the Tomcat from Jira goes down, both-ways.
The question is, how "un-recommended" is to install jira as a WAR deployed on my tomcat, intead of tomcat-jira?
What´s the best way to configure this environment? How must to be declared the CATALINA_HOME and CATALINA_BASE for this?
That´s all... thanks!
I think your installer-created CATALINA_HOME/CATALINA_BASE will probably be fine.
I would also not suggest trying to share one Tomcat instance with other applications due to potential conflicts between library versions (and also because you won't be able to shut down one application without shutting down the other).
The immediate problem is likely that you are trying to use the same shutdown port on both Tomcat instances. In JIRA's conf/server.xml, you will find a line like this:
<Server port="8004" shutdown="SHUTDOWN">
The configured port must be unique for each Tomcat instance, so you need to pick something that is not in use. (This is in addition to having a unique connector port declared in <Connector port="8080" ...).
If you use the same shutdown port, you will find that (say) your shutdown script for one instance ends up accidentally shutting down the other instance.

Put node app online privately so my team can preview it before launch?

I'm building a Node app and need to put it online so my team can access it. We are concerned about the content of the app leaking and need some security.
Is a VPN the best way? Could I set one up easily on Digital Ocean or elsewhere? I have only set up a VPN for tunnelling before, and don't have a local computer or server that is always on.
I first thought about putting it on a randomly generated subdomain on my regular domain, or controlling it with .htaccess and password, but I'm not sure if this is doable with Node.
EDIT: what about just setting up with pptp and then editing the hosts file to point my-temporary-domain.com to localhost?
This problem is relevant because you don't have a local area network that your team all has access to. The way I've solved this in the past is to set up your application listening on the 127.0.0.1 on a server that is accessible to the internet. Allow your team to have SSH access, and set it up so they forward localhost and port 80 on their local machine to whatever port your application is listening on. You can do this with openssh and putty.

Node js on virtual machine ignores requests from outside

this is the first time I use nodejs (and express), so I'm sorry if the question is stupid.
I installed nodejs and express on my debin virtual machine and created hello-world application. I run it like
DEBUG=myapp ./bin/www
Calling my application from virtual machine works just fine, but it ignores requests from outside workspace (windows). I thought it could be related to apache that I also have, so I stopped it, but it doesn't solve the issue. Please advice.
Thanks.
And this is how I solved it.
Opened port 3000 in Firewall (not sure if this was required), see how to do this http://windows.microsoft.com/en-us/windows/open-port-windows-firewall
Added port forwarding in my vm settings in virtualbox. By default there were ports 80 and 22. So I added 3000 which was the solution.

Which port we can use to run IIS other than 80?

IIS does not work when I start applications like Skype since it also uses port 80.
Which port can I use to run IIS other than 80? (8080 does not work)
You can run IIS on any port you like, as long as it does not conflict with other applications. I am using 88, 8888 and other easy to remember ports.
You can find the common used port here: PORT NUMBERS, and it is safer to choose an unassigned TCP port.
Quote:
The Dynamic and/or Private Ports are those from 49152 through 65535
If IIS is working and you have troubles with an ASP.NET applications, those links might be helpful:
How to: Configure ASP.NET Applications for an ASP.NET Version
ASP.NET and IIS Configuration
ASP.NET IIS Registration Tool (Aspnet_regiis.exe)
IIS and ASP.NET: The Application Pool
If you are still having troubles, it would be helpful to provide more information about your environment, the steps taken so far to solve the problem, and retagging the question (append asp.net for example)
Well you can disable skype to use port 80. Click tools --> Options --> Advanced --> Connection and uncheck the appropriate checkbox.
Port 8080 might have been used by another process in your computer.
Do netstat in command prompt to find out which server/process is using it.
Have a look at this page (http://en.wikipedia.org/wiki/Port_number) it gives you full explanation on how to use port number
Also remember, when running on alternate ports, you need to specify the port on the URL:
http://www.example.com:8080
There may be firewalls or proxy servers to consider depending on your environment.
you can configure IIS in IIS Mgr to use EVERY port between 1 and 65535 as long it is not used by any other application
Stopping Skype from using port 80: http://forum.skype.com/lofiversion/index.php/t15582.html
I'm going to make a few assumptions and come at the problem from a different angle... in that because you have skype installed and running on the same machine, that it is not a production machine and instead used for testing / development?
If so, you may wish to look at alternatives to IIS completely to alleviate your issue. If you use IISExpress or the web server built into recent versions of Visual Studio, they will automatically pick a port for you.
Of course this does mean that it's not particularly useful for giving other people access, but is fine for local development for personal use.
I think the other answers probably offer a better alternative in most situations, but this may offer a different insight.
Here is an intro to IIS Express: http://learn.iis.net/page.aspx/860/iis-express/
You have to configure the port first for example 127.0.0.1:91 then you need to allow access to port 91
from windows firewall->>advance setting->>inbound rules->> new rule.
then check port->> assign new port (91). then next to finished.
After this 127.0.0.1:91 should be accessible from the web.

Resources