{"id":18512343,"url":"https://github.com/alwayslearningpls/haproxy","last_synced_at":"2025-05-14T11:34:41.986Z","repository":{"id":118793575,"uuid":"537289633","full_name":"alwayslearningPLs/HAProxy","owner":"alwayslearningPLs","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-28T03:41:21.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-17T03:17:10.136Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alwayslearningPLs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-16T03:20:23.000Z","updated_at":"2022-09-28T02:32:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"1a41083b-3f7c-4814-a8e8-15a413f71f26","html_url":"https://github.com/alwayslearningPLs/HAProxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwayslearningPLs%2FHAProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwayslearningPLs%2FHAProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwayslearningPLs%2FHAProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alwayslearningPLs%2FHAProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alwayslearningPLs","download_url":"https://codeload.github.com/alwayslearningPLs/HAProxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254131993,"owners_count":22020059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T15:33:46.325Z","updated_at":"2025-05-14T11:34:41.910Z","avatar_url":"https://github.com/alwayslearningPLs.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning HAProxy\n\nHAProxy is an open-source load balancer. HAProxy listens for incomming requests and then\nforwards them to one of your servers.\n\nHAProxy atcs as both a _reverse proxy_ and a _load balancer_ for TCP-conected applications.\n\nA _reverse proxy_ sits in front of your server and accepts requets from clients on its behalf.\n\nIf you have more than one server to redirect TCP connections, then you need a _load balancer_.\n\n## How does it work?\n\nHAProxy uses a _single-threaded_, _event driven_ architecture to receive requests from clients and dispatch them quickly to backend servers.\n\nIt does not open a thread and wait for a server to respond. Instead, it moves on to do other work and returns when it receives a callback.\n\n## Interesting locations\n\n- `/usr/sbin/haproxy`: it is the binary\n- `/usr/share/lintian/overrides`: Lintian is a *Debian* package checker. The file here overrides rules that would otherwise cause the HAProxy package to be flagged as having an error. (not found).\n- `/usr/share/doc/haproxy`: Documentation for HAProxy (It is needed to install the package `haproxy-doc`).\n- `/run/haproxy`: Contains a UNIX socket that HAProxy binds to during startup.\n- `/var/lib/haproxy`: Contains data that HAProxy stores while running.\n- `/etc/logrotate.d/haproxy`: Configures HAProxy to use logrotate, which manages how logs are compressed and rotated.\n- `/etc/default/haproxy`: Contains a default file for HAProxy that can override aspects of how the service starts up.\n- `/etc/haproxy`: Contains the HAProxy configuration file and a directory where HTTP error pages are defined.\n- `/etc/init.d/haproxy`: Contains the initialization script for the HAProxy service.\n\n`/usr/sbin/haproxy -v` to get the version of HAProxy\n\n## Labs\n\n- [Hello world](./hello)\n\n## Reference\n\nTODO\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwayslearningpls%2Fhaproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falwayslearningpls%2Fhaproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falwayslearningpls%2Fhaproxy/lists"}