R shiny web : Application not accessible from international institutions (proxy closed) - shiny

I've developped a web shiny application.
This application is already accesible from internet ( from my house for example). But this application has to be accessible from international institutions (ambassy..). Due to their security protocol, they can not access to my application.. I think it is due to closed proxy. The link internet application is like this xxxx.xxx.xxx:8383
It's not possible to modify their internet security protocol.
Do you have any idea ? how i can make this web application accessible from (almost)anywhere.
Thanks so much

You'll need to modify the shiny-server.conf file to set the server to listen on port 80 (HTML) instead of 3838. See my answer here: Deploy an app on my own server without the port number in the address

Related

Can a remote server send response to a local client on a custom port?

For network gurus out there, I'll like to ask some questions regarding some unique setup where the server will be sending a request to a client on localhost on a certain port.
I have a cloudy understanding of some network fundamentals that I hope you'll be able to help me out.
Kindly check the image below:
Basically, there's a static website hosted in AWS s3 and at some point this website will send a request to https://localhost:8001.
I was expecting that it will connect to the nginx container listening on port 8001 in my local machine, but it results in 504 gateway error.
My questions are:
Is it possible for a remote server to directly send data to a client at a particular port by addressing it as localhost?
How is it possible for the static website to communicate to my local docker container?
Thanks in advance.
In the setup you show, in the context of a Web site, localhost isn't in your picture at all. It's the desktop machine running the end user's Web browser.
More generally, you show several boxes in your diagram – "local machine", "Docker VM", "individual container", "server in Amazon's data center" – and within each of these boxes, if they make an outbound request to localhost, it reaches back to itself.
You have two basic options here:
(1) Set up a separate (Route 53) DNS name for your back-end service, and use that https://backend.example.com/... host name in your front-end application.
(2) Set up an HTTP reverse proxy that forwards /, /assets, ... to S3, and /api to the back-end service. In your front-end application use only the HTTP path with no host name at all.
The second option is more work to set up, but once you've set it up, it's much easier to develop code for. Webpack has a similar "proxy the backend" option for day-to-day development. This setup means the front-end application itself doesn't care where it's running, and you don't need to rebuild the application if the URL changes (or an individual developer needs to run it on their local system).

Web Service Address MonoDevelop

I created a WebService in MonoDevelop, the WebService is running at
localhost:8080/LoginUsr.asmx.
When I try to access from other device, I can't access because the port 8080 is closed for external connections. What can I do?
I think you need open this port/connection through firewall. I activated many times with firewall.

C++ console http api app deployed on Windows Server 2012 is not accessible externally

I am trying to deploy a simple HTTP API app on an Window Server 2012 and it's not working. The app is accessible internally (I can ping it within the server) but NOT externally. What do I need to do make the API server accessible via network? I disabled the firewall so it's not a firewall issue. I would usually use Linux, but I don't have a choice but use Windows this case. Please help!
I solved it by installing IIS and use it as a reverse proxy. So when a http request comes in from the internet, IIS it takes it and forwards it to my web app.. I am not sure this is the right way or not, but if it is, then it's pretty stupid as my web app should be accessible directly which would have been the case if I were using Linux.

Shibboleth bypass for IP range

I have Shibboleth configured on an IIS server and am using it protect a .NET application.
I need authenticated access for users accessing the application over the web and for that Shibboleth is working fine.
The application also hosts web services which need to be accessed by other applications in the same server and for that working with Shibboleth is a challenge since web service clients cannot deal with the log in page.
Is it possible to configure Shibboleth to ignore requests coming from the same server for example by checking the IP address?
It won't directly answer your question, but I can share a workaround I found and hope it can help with your problem too.
Define another website in IIS pointing to the same folder as the initial one, and make it only respond to a different domain (like something.local). Then in IP Address and Domain Restrictions, make sure only 127.0.0.1 is allowed to access it.
In C:\Windows\System32\drivers\etc open the file "hosts" in Notepad (running with Administrator privileges). Add the line "127.0.0.1 something.local" (no quotes; make sure the domain is the same one you defined before)
Now, make the webservices call the application by the new domain.

Web Service Port No Question

I am working on a web service project using gsoap. I am new to web services and have some basic questions.
What should be the port no. of my web service? Currently this web service is a stand alone service listening to a hard-coded port no. of 22050. Client connects to this port and everything works fine. Is this approach OK? What are the pros/cons of this approach?
Or Should my web service be a plug-in of the apache web server? In that case how does it work? Apache httpd listens on port 80, so client sends request to this port. Then how does the request get routed to my web service?
I didn't find any proper online resources on these. Any pointers would be great.
You will have to configure apache such that it knows it will be your web service. In this case you will probably give it a location. So you can configure a directive that will make sure your service is called by apache.
I.e. you will use urls that identify your service (http://.
You will then use a location directive in which you make the proper configurations. You can find more information at http://httpd.apache.org/docs/2.0/sections.html
Hope this helps.