Accessing local https site over LAN - asp.net-mvc

I am trying to debug my ASP.Net MVC website when hosted over https. I am hosting this via the IIS instance with Visual Studio. I need to access the website from a mobile device - so I am attempting to access the site via LAN.
I have enabled https via visual studio by going to the project properties and setting SSL Enabled to true. Now, when I debug the site, it starts two local instances; one for http (as usual) and one for https. The internal ports for these are listed when I right click the IIS icon in the task tray.
I do not have an SSL certificate installed. My browser gives me insecure connection warnings, but I just dismiss them - I don't believe these are a concern as I am just testing locally (I could be wrong).
I am using a program called Sharp Proxy to translate these internal ports to external ones, allowing my site to be accessible. 64312 is my internal port for accessing the site over http. Sharp proxy is translating this to 4567. 44300 is my internal port for accessing the site over https. Sharp proxy is translating this to 5678.
Successful permutations:
http://localhost:64312 - SUCCESS
https://localhost:44300 - SUCCESS
http://192.168.0.72:4567 - SUCCESS
Failed permutations:
https://192.168.0.72:5678 - FAIL
Bad Request - Invalid Hostname
The issue is clearly not to do with accessing my machine over LAN as I am able to successfully hit 192.168.0.72 with http.
My question is: What do I need to do to be able to access my https site over LAN via debugging with Visual Studio?

In order to verify the identity of the server you're connecting to, HTTPS needs a hostname to check the certificate against.
Therefore, you cannot connect to an IP address over HTTPS.
You need to use a domain name.

Related

Azure Hybrid Connections to onsite SQL Server with a Linux PHP WebApp - sanity check

Okay, I feel I'm pretty good at problem solving but I'm stumped! I can't get connectivity to the SQL Server via the Hybrid Connector or directly.
System Overview:
1x Linux PHP Based WebApp with all the correct SQLSRV libraries working (using a azure sql server I can get the webapp working fine, but need to use our onsite server for the time being)
1x Onsite SQL Server (win2012, sql version 11.0.7), which has an external static IP (and FQDN) and exposed to the internet on port 1433 (I can use SMSS from an external IP to connect and manage the server - with that IP added to the firewall that is..)
So firstly - trying to connect via PHP / SQLSRV directly to the server doesn't work (even if I allow all internet traffic to connect to the server via the firewall) - which is odd as SMSS works. The server is Win2012 and TLS 1.2 is enabled - but I get Error code 0x2746. Investigating this, I think its something to do with openssl 1.1.1 and SQL Server still only using SHA1 - I modified the openssl.cnf file to SECLEVEL=1 - still not dice.
So I've proceeded to setup the Hybrid connections using port 1433 using internal machine name say 'SERVER01' for the endpoint - everything says connected on both the azure hybrid screen and also on the connection manager on the server. I can telnet from SERVER01 to the service endpoint bus and from SSH on the WebApp I can ping the hybrid end point 'SERVER01:443'
But trying to connect to the database from PHP using SQLSRV it timeouts.
Anyone got any pointers? I'm thinking its due to the old onsite server being too old (Win2012) and the SSL SHA1 issues.

How to get URL of OData service from SAP Gateway for connecting it with Web IDE Personal Edition?

I'm trying to connect SAP Web IDE Personal Edition" (local Web IDE) following this tutorial:
https://help.sap.com/viewer/825270ffffe74d9f988a0f0066ad59f0/CF/en-US/2cf47f37e34c428c97a51057733c0394.html
But no connection happens. I guess the problem is in the host URL and the port. How can I get the URL? I tried using S4HANA URL but it didn't work. Also tried Fiori URL didn't work either.
How to get the Gateway URL and port?
If you have an on-premise system, then call /N/IWFND/MAINT_SERVICE, choose your service, click on Gateway Client, set the protocol to HTTPS and you'll see the full URL. If you don't then HTTPS isn't configured for your system --> call SMICM, Goto (from menu), Services and check the Host and Port columns in HTTP row. That's your host and port.

Asp.net APIs have wrong certificate, Blazor website refuses to connect

I have the following setup: One Blazor Server Side Website, an ASP.net API Gateway using Ocelot and a few Microservices also using ASP.net. All of these things are run in individual Docker Containers.
First of, everything works, the connections work, I can fetch data, but only on http. I have the dev-certs enabled for ASP.net, and they also "work" but the problem is, they are signed for the wrong host.
When I navigate to a gateway with the browser, it works as long as I call "localhost" and the port. The problem is, because they run in Containers, localhost does not mean the same thing for them. That means I have to use my local IP and the port to send them to the correct service. But the certificate is signed for "localhost" meaning it thinks the cert is invalid because the host is no longer "localhost".
This means that my blazor app sees a certificate that does not match the host and gets an exception because it can't validate the cert. I looked up a lot of stuff and found nothing, but basically I need a way to either change the certificates in the containers or tell the blazor server to accept those certificates.
I have not found a thing on this topic, so I would really appreciate some help.

Enabling https protocol in .NET MVC 5 application for localhost

I'm trying to enable https protcol for my application that I'm building on a localhost which has a port number like this:
https://localhost:19590/
I have went to the IIS xx express version and enabled https binding and have been able to access localhost (without any port number) via https like this:
https://localhost/
But now I need to enable HTTPS for the project solution I'm working on currently on port 19590, and when I try to access it, it says that the:
This site can’t provide a secure connection
What am I doing wrong here, how can I enable HTTPS for the localhost project on this port number exactly?
In your project properties, in the web section under Servers can you try choosing Local IIS instead of IIS Express and create virtual directory on https://localhost/

Jenkins Server - Issues with setting URL

I am trying to set up an internal Jenkins server for our QA team and facing some issues with the server URL. This is inside a corporate network and all sort of firewall and proxy settings are in place, however we need to access the server only with in our internal network. This server runs from a Mac Mini. I was able to install and access the server without any issues using localhost:8080.
I tried to set a custom URL (something like testjenkins.local:8080)under the Manage Jenkins option and never was able to access the server. The only option worked for me is with the IP address (IP:8080). I was able to access the server from other machines in the network using this URL.
The real problem with the above setup is that the machine IP changes(I am not able to make it static), and hence wont be able to get an always working URL.
Highly appreciate if any one guide me in the wright direction.
Given you have a dynamic IP on your server, a good alternative would be using ngrok. Ngrok can expose the port 8080 of that server to the internet via secure tunnels, and you can access it via an URL, so changes in the IP won't affect it.
However, ngrok exposes the server to the whole Internet. To make it accessible only for your team you can add authentication in both ngrok tunnel and Jenkins server (would it work for you?).

Resources