PROXY protocol v1 / v2 support
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- networking
Direção de pesquisa
Nenhum arquivo ou teste do repositório é mencionado. Comece lendo a especificação vinculada do HAProxy PROXY protocol e comparando o comportamento de --proxy-protocol do Gunicorn; o trabalho estará concluído quando httptools der suporte às informações do cliente solicitadas do PROXY protocol v1 e v2 antes da requisição HTTP.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Behind a reverse-proxy or a load balancer, you often need to get the original client IP.
A lot of load balancer provide these information with the PROXY protocol - HAproxy for exemple.
I have a load balancer that provide only this method to get the client info, and I would not be the only one.
Here a doc of the protocol: http://www.haproxy.org/download/2.4/doc/proxy-protocol.txt
In a nutshell, it's one line added on top of the body, here for the v1 protocol:
PROXY TCP4 192.168.0.1 192.168.0.11 56324 443\r\n
GET / HTTP/1.1\r\n
Host: 192.168.0.11\r\n
\r\n
This protocol is implemented in Gunicorn, and can be activated with --proxy-protocol: https://docs.gunicorn.org/en/stable/settings.html#proxy-protocol
edit: A NodeJS parser: https://github.com/racker/node-proxy-protocol/blob/master/index.js
- Linguagem predominante
- Python
- Estrelas
- 1.3k
- Forks
- 107
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de MagicStack/httptools
-
Add riscv64 (linux_riscv64) wheel to PyPI releasesTalvez já em andamento @gounthar assumiu há 208 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
MagicStack/httptools#136 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
MagicStack/httptools#140 · 1 reação ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
MagicStack/httptools#127 · 2 comentários · 1 reação ·
-
Custom build_ext breaks parallel build/wheelTalvez já em andamento @DivyamTalwar assumiu há 28 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
MagicStack/httptools#126 ·
-
Python 3.10 Armv7 versionAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
MagicStack/httptools#125 ·
Todas as issues de MagicStack/httptools
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
area:docs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
RailtownAI/railtracks#1633 ·
Mantenedores costumam responder em até 2 dias
-
review-panel severity:low
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
kristovatlas/coin-accounting#152 ·
Mantenedores costumam responder em até 1 dia
-
documentation :blue_book:
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
PennyLaneAI/pennylane#10280 ·
Mantenedores costumam responder em até 2 dias
-
`pipx reinstall` prints a Python traceback when the reinstall failsTalvez já em andamento @ParamTanna assumiu hoje. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia