HTTP port cannot triggered different endpoints simultaneously - http

I have three workflows in Robomotion running three different endpoints with the same IP. I try to use Postman just for testing the port that running in Robomotion. But, only the workflow that running first in Robomotion can be triggered not the other. The other port got this error 404 not found. I'm using port 80. Is it port 80 cannot be triggered simultaneously?
Below is the open port that I'm using in Robomotion.
1st Workflow: http://206.xxx.xx.xx:80/abc
2nd Workflow: http://206.xxx.xx.xx:80/def
3rd Workflow: http://206.xxx.xx.xx:80/ghi
Can anyone explain? I run this process in Ubuntu 20.04.4 LTS.

Related

Error when trying to connect to gRPC endpoint from a UI tool or proxy tool

I'm testing gRPC with .NetCore and looked up for a GUI tool or something that can help me to test my endpoint like testing REST API.
I found a proxy tool: grpc-json-proxy that can be used with Postman tool (also found another GUI tool: grpcox).
Using any tool gives an error like the following when trying to connect to the endpoint:
unable to do request err=[Post
http://localhost:5001/greet.Greeter/SayHello: dial tcp 127.0.0.1:5001:
connect: connection refused]
Any idea what could be the issue?
Most importantly, are you confident the gRPC server is listening on localhost:50051? You may confirm this (on Linux) using:
GRPC="50051"
ss --tcp --listening --processes "sport = :${GRPC}"
NOTE you may need to sudo ss ... to get the process
Or more simply:
telnet localhost 50051
If you get Connected to... that's a good sign
Then, if you're using either of these tools through docker, you'll need to ensure the container can access the host's 50051 port. To do this, run the container use --net=host. This will make the host's port available to the container.
I use grpCurl

Guzzlehttp client connection refused over non standard port

I'm running a few containers using docker-compose.
One of the services I added recently is exposed on port 3000
Any request made to this service using guzzle throws the following error:
cURL error 7: Failed to connect to service-stub port 3000: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
It works if I change the port to 5000, however I have another service using that port hence need to run the new service on a different port.
Anyone know how to get around this issue?

Multiple processes listening on same port or not?

This is on Windows system. I have tomcat started on 8080. I have a nodejs program started which is also listening on 8080. So now I have 2 PIDs. When I do a netstat, I find two PIDs on the same port. So everything is clearly being shown. And these two processes ran without showing up any error. What baffled me is when I access the url localhost:8080 on the browser, it sometimes shows up tomcat home page and the rest of the time it shows up the nodejs response. Looks like there is a race between the processes as in whoever catches it first throws up a resonse. Next as I see that there is no error being thrown on reusing the same port, I try to open up another nodejs program listening on 8080. But this time it throws an error saying EADDRINUSE. This is confusing. If it had to throw such an error, why would it in the first place allow nodejs and tomcat both to listen on 8080? Any factual inputs and no conjectures would be helpful.
You either:
have a proxy in front of your servers
you run the servers on different network interfaces
some sort of port sharing has been setup on that machine.

How to get the PORT number it is listening on?

I tried process.env['PORT'], but this returns an unrelated number.
I'm using Meteor 0.9.2.2.
I guess you're running your app using meteor command. When you do that, it will first start a proxy server which will listen on the port you give (by default 3000) and forward requests to your meteor application which listens on some random available port. Meteor does this to automatically refreshes the server when you modify a file and for some other cool features.
If you build your app using meteor build --directory /my/build/path/ and run it, process.env.PORT will have the correct port number.

How to get past the MongoDB port error to launch the examples?

I'm getting started with Meteor, using the examples:
https://www.meteor.com/examples/parties
If I deploy and load the deployment url ( http://radically-finished-parties-app.meteor.com/ ) , the app runs ... nothing magic there... it was an easy example
My issue occurs when I want to run it locally, I get the following message
"You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number"
I got meteor running through the terminal command:
meteor --port 3004
Setup:
- Mac OS 10.9
- Chrome 31
This is happening because you are accessing the mongodb port in your web browser.
When you run a meteor app, e.g on port 3004
Port 3004 would be a web proxy to port 3005
Port 3005 would be the meteor app in a 'raw' sort of sense (without the websockets part.. i think)
Port 3006 would be the mongodb (which you are accessing).
Try using a different port. Or use a simpler port e.g just run meteor and access port 3000 in your web browser.
If the reason you moved the port number up because it said the port is in use the meteor app may not have exited properly on your computer. Restart your machine or have a look at activity monitor to kill the rogue node process.
I think what might have happened is you ran in on 3000, then moved the ports up and the previous one may have not been exited correctly so what you're seeing is a mongodb instance of a previous meteor instance.
This happens when you run another meteor on port 2999, forget about it and try to start a second instance on the usual port.
Try making sure Meteor is using the local embedded mongo db, which it will manage on its own:
export MONGO_URL=''
Something changed in my bash settings that I didn't copy over to zsh. I uninstalled zsh and meteor can now find and access mongo.

Resources