Difference between a server and endpoint? - endpoint

According to this thread, the endpoint is the URL where your service can be accessed by a client application.
But, it sounds to me like a kind of server. In that case, an endpoint will be always an URL? what is the difference between an endpoint and a server?

An endpoint is a URL which allows you to access a (web) service running on a server. A server(program) may actually host multiple such services exposing them through different endpoint.
e.g. To access twitter search API, https://api.twitter.com/1.1/search/tweets.json is the endpoint. But the same server also has another endpoint https://api.twitter.com/oauth/authenticate for authentication. Both the endpoints are hosted on the same server which runs on a machine with domain name twiter.com

server is something who host your side/data or run multiple services, like php, mysql, etc
end point is where something points like we say end point of phpmyadmin, and might be its a end point of some api.
api.example.com/getusers

Related

Is there a way to filter incoming HTTP request by hostname?

We have developed a web application that integrates with a 3rd party service. One of the integration the 3rd party service would call our API server to update some status (something similar with payment gateway).
Initially the API on our server has no authentication, so we think we should have some checking in place to verify the callback is authentic.
The 3rd party service has already done with our project and refuse to modify code on their side, and their server has dynamic IP so we are unable to whitelist by IP. Their engineers suggested us to whitelist their hostname instead.
We have considered getting the source IP and reverse DNS. This approach only work in some cases, and would not work for example custom domain for a cloud VM. The resolved hostname would be the VM's hostname instead of the custom domain.
Their engineers sounded like this is a common practice and easy implementation, are we missing something? We have full control on firewall, DNS record and API code on our side.

Cloud Run inter-service communication

Consider two GCP Cloud Run services that communicate with each other.
Their URLs will look like follow:
http(s)://service1-gcphash.a.run.app/
http(s)://service2-gcphash.a.run.app/
Note the DNSs of these urls are public, and if the permissions allow, may be accessed from the outside world.
Now, imagine these two service communicate with each other, my questions are:
If one service calls directly the other service, will the request be routed ONLY in the internal GCP network or is it possible that it will pass through the outside world?
In case the request stays only inside the GCP network, does it make sense to be encrypted via https, or will http request be secure enough?
If one service calls directly the other service, will the request be
routed ONLY in the internal GCP network or is it possible that it will
pass through the outside world?
Network traffic between Google services stays on Google's private backbone.
In case the request stays only inside the GCP network, does it make
sense to be encrypted via https, or will http request be secure
enough?
If you attempt to connect via HTTP, Cloud Run will send an HTTP Redirect with an HTTP Location header set to a secure URL (HTTPS).

local tomcat website request website on aws

We have a back-end website deployed on AWS. I deploy a front-end website in local tomcat and send a request to back-end website in order to get some object data with homemade soap api. Dose it work?
Yes , literally you are trying to access a remote api from local environment. After the deployment in AWS do make sure the security groups allows the protocol and port number, to be communicated from remotely.
By default there ports are not allowed.
Looks like you are trying to connect to a SOAP Webservice hosted in AWS. There is no reason it shouldn't be working, Only thing is you have to properly configure your AWS security groups attached to your backend server, to allow connections from your frontend website. Use front-end server port as the source ip in your security group. You might also have to allow outgoing connections from the network where your frontend server is hosted if it is protected by a firewall.

Deny all access to WCF service via IIS not working when called via a website over TCP

I have built a website and a WCF service. The website calls the WCF service (an application underneath the website) to get data. This connection is made using netTcpBinding (it _should be netNamedPipes but for some reason this refuses to work (only) on the deployment server, so I'm using TCP/IP).
In IIS (7.5) I have used IP Address and Domain Restrictions to deny all unspecified clients to the WCF service. I can see the change reflected in my web.config and I am unable to browse to the WCF service (403.6 Forbidden screen appears).
The problem is that the website is able to connect to the WCF service and get data even when I specify NO IP address is allowed i.e. no matter what I change, the website can still call the WCF service.
Why can the website access the WCF service?
Did you make those same IP restrictions on your website? Since your website is the one calling the WCF service, making those same IP restrictions there would make sense also.

Web Service reference changed

I have publish one webservice on server let say on abc.com server. now more than 10 client subscribe for this webservice.
Now I want to shift same web service to server xyz.com and want to close server abc.com.
So without updating client how can i make this move successful so my client Web Service do not need to update anything from their side.
You likely can't. Most users will have client side configuration that will need to be changed to point to the new url.
If you control the dns entries, you could decommission server abc.com and point it's old dns entry to the same server as xyz.com.