ServiceStack site cannot be run with Azure emulator - azure

I have hello world webservice from here https://github.com/ServiceStack/ServiceStack/wiki/Create-your-first-webservice and it runs as a website without any problem.
But if I add this website as Webrole to Cloud Solution and try to run it in Dev Fabric emulator I'm getting error:
[Fiddler] The socket connection to 127.0.0.1 failed.
ErrorCode: 10061.
No connection could be made because the target machine actively refused it 127.0.0.1:82
I guess this happens because of compute emulator setup. It accept requests on 127.0.0.1:8X and then redirect to IIS(or IIS express) on 127.255.0.0:8X. Probably in this scenario ServiceStack routing misbehave.
Any workaround available?

Related

Simple App Service cannot access Azure SQL after upgrading service tier ("no such host is known")

I upgraded my service tier on only our App Service app (not the other resources). A day after doing this, the app will no longer start up - giving the following:
HTTP Error 500.30 - ASP.NET Core app failed to start
If I connect to the App Service portal and use Kudu to start it via a debug cmd prompt, I see
Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - No such host is known.)
System.ComponentModel.Win32Exception (11001): No such host is known.
Storage queue startup also fails with my queue hostname. In kudu I also tried
C:\home\site\wwwroot>nameresolver mydatabase.database.windows.net
Server: Default
Can't find mydatabase.database.windows.net: Non-existent domain
(not my actual server name...) but same thing for google.com or any other hostname
also:
C:\home\site\wwwroot>ping 142.251.32.142
Unable to contact IP driver. General failure.
but this seems to be expected?
I am not using any fancy VPNs, private networks, groups or whatnot - this is as plain vanilla as I could make it. This worked for months before the upgrade. It works when run locally. My firewall for the database allows all azure services and my work/remote IP. I tried connection strings in the app service configuration only as well as only in appsettings.json. The connection string works in VS 2019, 2022, and sql management studio as well as the query tool within Azure portal itself. I've restarted the App service many times. OpenDNS cache check shows multiple different IPs for my database server but is this expected for regions? Why is the DNS apparently broken? How can I get this back to a functional state?
FYI - MS support contacted me and the service started working again with no changes after 6 days. So - there is no answer.

Azure Hybrid Connection - GatewayTimeout

I've been trying to get Azure Hybrid Connection to works for a long time now but I always get a GatewayTimeout exception:
{"error":{"code":"GatewayTimeout","message":"The request was routed to the listener but the listener did not respond in the required time. }}
I'm trying to expose a web api running locally using VS (I've tried both kestrel and iis express)
I suspect it's got something to do with the endpoint host but I've tried everything I can think of:
localhost
computer name
domain set in etc/hosts
google.com

How does an azure app service access a no azure web server

I have an Azure app service and in some cases I need to send a web request to a non-azure webserver. What do I need to do to make it possible.
Currently the web request fails with no clear error message.
In response to a HttpClient Put request I get a System.Net.WebException exception which says there were errors.
THe same request works from a desktop application.
If your webserver is reachable from the internet you should be able to access it through your App Service. Try to log a ping to your webserver and google (8.8.8.8).
If your App Service is in a VNET you should enable some outbound rules to your webservers IP adress.
The server I am connecting to is an other Azure service. After some more investigating, It appears that I can connect to it if I do not use SSL (i.e. http://) but the connection is immediately closed when using SSL (https://). I assume that the problem must be related to the use of SSL.

Asp.net app deployed on IIS server hosted on DMZ NIC, unable to get response from service fabric application

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 52.238.79.45:443
The error occurs when Application hosted on a on-premises IIS server tries to hit an API in Azure Service fabric cluster. We even allowed Any-Any connections on firewall to confirm if firewall is blocking but we got the same error. How can this be solved?
impossible to know with the information provided, but applications on service fabric can be called from outside, so you need to check your setup

Cannot Connect to Windows Azure VM (Server 2012 R2) Web Deploy Service

I can't seem to be able to deploy a site to a windows server 2012 r2 running IIS and Web Deploy in Azure VM. I have verified that the port is open, the credentials are correct and the site name as well. I tried using http: and https: also tried using msdeploy.axd end point and the MSDEPLOYAGENTSERVICE one nothing. Check is the services are running and if I can connect to the machine which at can on port 80 to the default site. Tried connecting from multiple connections I get the same result...
Could not connect to the remote computer ("<computer name>.cloudapp.net"). On the remote computer make sure that Web Deploy is installed and that the required process ("Web Deployment Agent Service") is started. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE. Unable to connect to the remote server.
After dealing with this for about an hour now, I figured out how to fix this on my Azure Virtual Machine.
First the obvious
Check that port 8172 (if you're using default settings) is open in your firewall
Check that the processes MsDepSvc and WMSVC are running.
Check that the site name is correct.
Management Service
In ISS, at the root level of the server, check your settings under Management Service.
It should have Enable Remote Connections checked:
Did you download the full package
This was the one that got me, I hadn't installed everything.
On the bottom of the WebDeploy page: http://www.iis.net/downloads/microsoft/web-deploy
You can download the full package, and then just install everything.
You don't mention if you have an endpoint configured for your Azure VM. If not, make sure you create an endpoint with a private port of 8172.
EDIT: Here is a troubleshooting guide for web deploy that includes the error message you've encountered. Additionally, from my own experience I have managed to mistype the site name and not install .NET and seeing similar errors.
Helpful but in the end in our case it was TLS mismatch. Check both machines can do TLS 1.2 if you are forcing it. Have put more detail here https://fuseit.zendesk.com/hc/en-us/articles/360000328595. Cheers

Resources