-
Notifications
You must be signed in to change notification settings - Fork 25.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
YARP overview page #34764
YARP overview page #34764
Conversation
…e being created. AI did a good first draft of what the page should contain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
- Routing: Directs requests to different backend servers based on predefined rules, such as URL patterns or request headers. | ||
- Load Balancing: Distributes incoming traffic across multiple backend servers to ensure no single server is overwhelmed, improving performance and reliability. | ||
- SSL Termination: Offloads the SSL encryption/decryption process from backend servers, reducing their workload. | ||
- Connection Abstraction: The inbound requests from external clients and outbound requests to the backend are independent so can use different versions of HTTP and have independent connection lifetimes. |
This comment was marked as duplicate.
This comment was marked as duplicate.
Sorry, something went wrong.
- Terminating Connections: The inbound http connections terminate at the proxy and new connections are used for outbound requests to destinations. | ||
- Routing Requests: Based on the routing rules, the reverse proxy determines which backend server (or cluster of servers) should handle the request. | ||
- Forwarding Requests: The reverse proxy forwards the client request to the appropriate backend server | ||
- Connection Pooling: The outbound connections are pooled to reduce connection overhead and make most use of HTTP 1.1 pipelining and parallel requests with HTTP2 & HTTP3 |
This comment was marked as duplicate.
This comment was marked as duplicate.
Sorry, something went wrong.
Update YARP overview date- branch off of samsp
Removed a couple of comments Added transforms to the how a reverse proxy handles HTTP section,
- Versions of HTTP, ie, HTTP/1.1, HTTP/2, HTTP/3. The proxy can upgrade or downgrade HTTP versions. | ||
- Connection lifetimes, which enables features like long-polling on the backend while maintaining short client connections. | ||
- Control Over URL-Space: Incoming URLs can be transformed before forwarding to the backend. This abstracts the external URLs from how they are mapped to internal services. Internal service endpoints can change without affecting external URLs. | ||
- Security: Internal service endpoints can be hidden from external exposure, protecting against some types of cyber attacks such as [DDoS attacks](https://www.microsoft.com/security/business/security-101/what-is-a-ddos-attack?msockid=3e35ed3aa4666d8003aaf830a5006c74) and [SQL injection ](/sql/relational-databases/security/sql-injection). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do we help with SQL injection?
|
||
## Why use a reverse proxy | ||
|
||
Using a reverse proxy offers several advantages: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section feels redundant with the "What a reverse proxy does". I'd merge the two if possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, CoPilot and myself duplicated items.
@samsp-msft I can do that if you like.
@samsp-msft originally had the 2 sections, albeit with less duplicates.
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
- Versions of HTTP, ie, HTTP/1.1, HTTP/2, HTTP/3. The proxy can upgrade or downgrade HTTP versions. | ||
- Connection lifetimes, which enables features like long-polling on the backend while maintaining short client connections. | ||
- Control Over URL-Space: Incoming URLs can be transformed before forwarding to the backend. This abstracts the external URLs from how they are mapped to internal services. Internal service endpoints can change without affecting external URLs. | ||
- Security: Internal service endpoints can be hidden from external exposure, protecting against some types of cyber attacks such as [DDoS attacks](https://www.microsoft.com/security/business/security-101/what-is-a-ddos-attack?msockid=3e35ed3aa4666d8003aaf830a5006c74) and [SQL injection ](/sql/relational-databases/security/sql-injection). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CoPilot hallucinations, I should have checked.
- Security: Internal service endpoints can be hidden from external exposure, protecting against some types of cyber attacks such as [DDoS attacks](https://www.microsoft.com/security/business/security-101/what-is-a-ddos-attack?msockid=3e35ed3aa4666d8003aaf830a5006c74) and [SQL injection ](/sql/relational-databases/security/sql-injection). | |
- Security: Internal service endpoints can be hidden from external exposure, protecting against some types of cyber attacks such as [DDoS attacks](https://www.microsoft.com/security/business/security-101/what-is-a-ddos-attack?msockid=3e35ed3aa4666d8003aaf830a5006c74). |
Merged sections, Added scalability note for direct forwarding
@Rick-Anderson - please merge if you are happy |
YARP doesn't have an overview page that can be linked from the website being created. AI did a good first draft of what the page should contain.
Internal previews