私は次のように私のHAProxy設定にHAProxy HTTPフロントエンドを持っています:
frontend myaddress.net :10098
bind :80,:8080
mode http
log global
option http-server-close
timeout client 14400000
timeout connect 60000
timeout tunnel 14400000
timeout http-request 14400000
capture request header User-Agent len 64
capture request header Accept-language len 64
capture request header x-forward len 15
capture request header Host len 64
capture request header X-Orig-Base len 64
capture request header X-Orig-Host len 64
capture request header X-Orig-Proto len 64
reqadd X-Original-Host:\ myaddress.net
acl is-ssl hdr(X-Orig-Proto) https
acl is-http hdr(X-Orig-Proto) http
redirect code 301 prefix https://myaddress.net if is-http
default_backend BACKEND_myaddress.net:catchall
次のように定義されたバックエンドを指します。
backend BACKEND_myaddress.net:catchall
timeout server 4h
balance leastconn
server myserver myserver:8080 check inter 5s rise 3 fall 1
ポート80でリッスンしてからバックエンドサーバーで8080に転送するように機能していますが、今はフロントエンドのポート8080でもリッスンするようにしています(理由はわからないが、これは不十分な要件です)。 )。
ご覧のとおり、bind :80,:8080
。フロントエンドもポート8080でリッスンするだろうと思っていましたが、ポート8080でリッスンしていないようです。
この構成に欠けているものはありますか?フロントエンドをポート8080と80でリッスンさせ、ポート8080でバックエンドサーバーに転送するにはどうすればよいですか?
あなたのフロントエンドセクションでこれを試してください:
bind :80
bind :8080
bind 0.0.0.0:80
bind 0.0.0.0:8080
私のために働く!