Desativar autorização na solicitação de OPÇÕES de comprovação em HAProxy

3

Temos uma configuração do HAProxy que possui autenticação básica em alguns de nossos back-ends. Agora, queremos ativar as solicitações de CORS para nossos back-ends, mas isso está falhando para aqueles com autenticação básica ativada. Quando o CORS faz a solicitação de pré-impressão do OPTIONS, ele não inclui o cabeçalho de autenticação e, portanto, ele falha e, portanto, a solicitação falha.

Existe uma maneira de permitir a solicitação OPTIONS sem authrisation mas obrigando-o para todos os outros pedidos?

Nosso haproxy.cfg tem as seguintes seções relevantes para isso:

#User lists used to enforce HTTP Basic Authentication
...
userlist ul_hyknpj6tb-uakf5isp
  user fred password $6$H/M21cSsvXn$jlEZQV7QL/clhV7JtZkAQf34QAPfZq5sE.zLE.M3gi4K1DV5J6ppc.e1JAOP0CtVxM0.n157llg5tsTp0gPFj1
....
backend b_term_hyknpj6tb-uakf5isp
  mode http
  balance roundrobin
  option forwardfor
  stick-table type ip size 1k expire 30s store bytes_in_rate(1s),bytes_out_rate(1s)
  tcp-request content track-sc2 src
  tcp-request inspect-delay 200ms
  tcp-request content accept if ! too_many_req
  tcp-request content accept if WAIT_END  
  rspadd Strict-Transport-Security:\ max-age=16000000;\ includeSubDomains
  acl is_auth http_auth(ul_hyknpj6tb-uakf5isp)
  http-request auth realm iiboc if !is_auth
  server node_hyknpj6tb-uakf5isp_1000 192.31.11.70:7843 check ssl verify required crt fred/fred-internal.pem ca-file bob/bob-internal.cert.pem 
.....
    
por RobC 19.10.2017 / 17:46

1 resposta

2

Você pode permitir a solicitação OPTIONS sem autorização, manipulando essas solicitações em um back-end diferente que não requer autenticação:

frontend fe_main
    acl options_method method OPTIONS
    use_backend be_options if options_method

Onde be_options é um back-end parecido com b_term_hyknpj6tb-uakf5isp , mas sem link

    
por 21.10.2017 / 20:26