You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-reverse-proxy-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ A reverse proxy server can be used in front of Azure SignalR Service. Reverse pr
14
14
15
15
A common architecture using a reverse proxy server with Azure SignalR is as below:
16
16
17
-
:::image type="content" source="./media/signalr-howto-reverse-proxy-overview/architecture.png" alt-text="Architecture using Azure SignalR with a reverse proxy server.":::
17
+
:::image type="content" source="./media/signalr-howto-reverse-proxy-overview/architecture.png" alt-text="Diagram that shows the architecture using Azure SignalR with a reverse proxy server.":::
18
18
19
19
## General practices
20
20
There are several general practices to follow when using a reverse proxy in front of SignalR Service.
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-work-with-app-gateway.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ This article contains two parts,
21
21
*[The first part](#set-up-and-configure-application-gateway) shows how to configure Application Gateway so that the clients can access SignalR through Application Gateway.
22
22
*[The second part](#secure-signalr-service) shows how to secure SignalR Service by adding access control to SignalR Service and only allow traffic from Application Gateway.
23
23
24
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/architecture.png" alt-text="The architecture of using SignalR Service with Application Gateway.":::
24
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/architecture.png" alt-text="Diagram that shows the architecture of using SignalR Service with Application Gateway.":::
25
25
26
26
## Set up and configure Application Gateway
27
27
@@ -45,20 +45,20 @@ Create from the portal an Application Gateway instance **_AG1_**:
45
45
46
46
- Accept the default values for the other settings and then select **Next: Frontends**
47
47
48
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/basics.png" alt-text="Create Application Gateway instance with Basics tab.":::
48
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/basics.png" alt-text="Screenshot of creating Application Gateway instance with Basics tab.":::
49
49
50
50
* On the **Frontends** tab:
51
51
-**Frontend IP address type**: **Public**.
52
52
- Select **Add new** for the **Public IP address** and enter *myAGPublicIPAddress* for the public IP address name, and then select **OK**.
53
53
- Select **Next: Backends**
54
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-frontends.png" alt-text="Create Application Gateway instance with Frontends tab.":::
54
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-frontends.png" alt-text="Screenshot of creating Application Gateway instance with Frontends tab.":::
55
55
56
56
* On the **Backends** tab, select **Add a backend pool**:
57
57
-**Name**: Enter **_signalr_** for the SignalR Service resource backend pool.
58
58
- Backend targets **Target**: the **host name** of your SignalR Service instance **_ASRS1_**, for example `asrs1.service.signalr.net`
59
59
- Select **Next: Configuration**
60
60
61
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-backends.png" alt-text="Set up the application gateway backend pool for the SignalR Service.":::
61
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-backends.png" alt-text="Screenshot of setting up the application gateway backend pool for the SignalR Service.":::
62
62
63
63
* On the **Configuration** tab, select **Add a routing rule** in the **Routing rules** column:
64
64
-**Rule name**: **_myRoutingRule_**
@@ -70,7 +70,7 @@ Create from the portal an Application Gateway instance **_AG1_**:
70
70
* We use the HTTP frontend protocol on Application Gateway in this article to simplify the demo and help you get started easier. But in reality, you may need to enable HTTPs and Customer Domain on it with production scenario.
71
71
- Accept the default values for the other settings on the **Listener** tab
72
72
73
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-rule-listener.png" alt-text="Set up the application gateway routing rule listener tab for the SignalR Service.":::
73
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-rule-listener.png" alt-text="Screenshot of setting up the application gateway routing rule listener tab for the SignalR Service.":::
74
74
- On the **Backend targets** tab, use the following values:
75
75
***Target type**: Backend pool
76
76
***Backend target**: select **signalr** we previously created
@@ -82,19 +82,19 @@ Create from the portal an Application Gateway instance **_AG1_**:
82
82
***Host name override**: **Pick host name from backend target**
83
83
* Others keep the default values
84
84
85
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-setup-backend.png" alt-text="Set up the application gateway backend setting for the SignalR Service.":::
85
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-setup-backend.png" alt-text="Screenshot of setting up the application gateway backend setting for the SignalR Service.":::
86
86
87
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-rule-backends.png" alt-text="Creating backend targets for application gateway.":::
87
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-create-rule-backends.png" alt-text="Screenshot of creating backend targets for application gateway.":::
88
88
89
89
* Review and create the **_AG1_**
90
90
91
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-review.png" alt-text="Review and create the application gateway instance.":::
91
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-review.png" alt-text="Screenshot of reviewing and creating the application gateway instance.":::
92
92
93
93
### Configure Application Gateway health probe
94
94
95
95
When **_AG1_** is created, go to **Health probes** tab under **Settings** section in the portal, change the health probe path to `/api/health`
96
96
97
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/health-probe.png" alt-text="Set up the application gateway backend health probe for the SignalR Service.":::
97
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/health-probe.png" alt-text="Screenshot of setting up the application gateway backend health probe for the SignalR Service.":::
98
98
99
99
### Quick test
100
100
@@ -111,7 +111,7 @@ When **_AG1_** is created, go to **Health probes** tab under **Settings** sectio
111
111
```
112
112
* Go to the Overview tab of **_AG1_**, and find out the Frontend public IP address
113
113
114
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/quick-test.png" alt-text="Quick test SignalR Service health endpoint through Application Gateway.":::
114
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/quick-test.png" alt-text="Screenshot of quick testing SignalR Service health endpoint through Application Gateway.":::
115
115
116
116
* Visit the health endpoint through **_AG1_**`http://<frontend-public-IP-address>/client`, and it also returns *400* with error message *'hub' query parameter is required.* It means the request successfully went through Application Gateway to SignalR Service and did the request validation.
117
117
@@ -135,7 +135,7 @@ Now, the traffic can reach SignalR Service through the Application Gateway. The
135
135
***Client endpoint**: Enter the URL using frontend public IP address of **_AG1_**, for example `http://20.88.8.8`. It's a connection string generator when using reverse proxies, and the value isn't preserved when next time you come back to this tab. When value entered, the connection string appends a `ClientEndpoint` section.
136
136
* Copy the Connection string
137
137
138
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/connection-string.png" alt-text="Get the connection string for SignalR Service with client endpoint.":::
138
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/connection-string.png" alt-text="Screenshot of getting the connection string for SignalR Service with client endpoint.":::
139
139
140
140
* Clone the GitHub repo https://github.com/aspnet/AzureSignalR-samples
141
141
* Go to samples/Chatroom folder:
@@ -149,7 +149,7 @@ Now, the traffic can reach SignalR Service through the Application Gateway. The
149
149
```
150
150
* Open http://localhost:5000 from the browser and use F12 to view the network traces, you can see that the WebSocket connection is established through **_AG1_**
151
151
152
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/chat-local-run.png" alt-text="Run chat application locally with App Gateway and SignalR Service.":::
152
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/chat-local-run.png" alt-text="Screenshot of running chat application locally with App Gateway and SignalR Service.":::
153
153
154
154
## Secure SignalR Service
155
155
@@ -165,7 +165,7 @@ Let's configure SignalR Service to only allow private access. You can find more
165
165
* Go the **Networking** tab:
166
166
* On **Public access** tab: **Public network access** change to **Disabled** and **Save**, now you're no longer able to access SignalR Service from public network
167
167
168
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/disable-public-access.png" alt-text="Disable public access for SignalR Service.":::
168
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/disable-public-access.png" alt-text="Screenshot of disabling public access for SignalR Service.":::
169
169
170
170
* On **Private access** tab, select**+ Private endpoint**:
171
171
* On **Basics** tab:
@@ -185,7 +185,7 @@ Let's configure SignalR Service to only allow private access. You can find more
185
185
***Integration with private DNS zone**: **Yes**
186
186
* Review and create the private endpoint
187
187
188
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-setup-private-endpoint.png" alt-text="Set up the private endpoint resource for the SignalR Service.":::
188
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/application-gateway-setup-private-endpoint.png" alt-text="Screenshot of setting up the private endpoint resource for the SignalR Service.":::
189
189
190
190
### Refresh Application Gateway backend pool
191
191
Since Application Gateway was set up before there was a private endpoint for it to use, we need to **refresh** the backend pool for it to look at the Private DNS Zone and figure out that it should route the traffic to the private endpoint instead of the public address. We do the **refresh** by setting the backend FQDN to some other value and then changing it back.
@@ -271,7 +271,7 @@ Now the web app is deployed, let's go to the portal for **_WA1_** and make the f
271
271
272
272
273
273
274
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/web-app-settings.png" alt-text="Configure web app connection string.":::
274
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/web-app-settings.png" alt-text="Screenshot of configuring web app connection string.":::
275
275
276
276
* On the **TLS/SSL settings** tab:
277
277
***HTTPS Only**: **Off**. To Simplify the demo, we used the HTTP frontend protocol on Application Gateway. Therefore, we need to turn off this option to avoid changing the HTTP URL to HTTPs automatically.
@@ -283,7 +283,7 @@ Now the web app is deployed, let's go to the portal for **_WA1_** and make the f
283
283
> Sometimes you need to disable browser's auto https redirection and browser cache to prevent the URL from redirecting to HTTPS automatically.
284
284
285
285
286
-
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/web-app-run.png" alt-text="Run chat application in Azure with App Gateway and SignalR Service.":::
286
+
:::image type="content" source="./media/signalr-howto-work-with-app-gateway/web-app-run.png" alt-text="Screenshot of running chat application in Azure with App Gateway and SignalR Service.":::
0 commit comments