웹을 Kotlin 백엔드에서 시험했을 때의 메모 - 3. ReverseProxy편
About
이 테마의 연재, ReverseProxy 편입니다.
구성
괜찮습니다. .
설정
ReverseProxy의 설정은 샘플의 reverse-proxy 디렉토리에 들어 있습니다만, 설정 파일과 Dockerfile 뿐입니다.
Envoy 설정 (reverse-proxy.yaml)
Envoy 공식 블로그 에 해설이 있으므로, 그 설정 파일을 참고로 해 곧바로 설정할 수 있었습니다.
디버깅을 위해 액세스 로그를 표준 출력으로 내보내는 설정을 추가했습니다.
reverse-proxy/reverse-proxy.yamladmin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match: { prefix: "/" }
route:
cluster: service
max_grpc_timeout: 0s
cors:
allow_origin:
- "*"
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
max_age: "1728000"
expose_headers: custom-header-1,grpc-status,grpc-message
access_log:
- name: envoy.file_access_log
config:
path: /dev/stdout
http_filters:
- name: envoy.grpc_web
- name: envoy.cors
- name: envoy.router
clusters:
- name: service
connect_timeout: 0.25s
type: logical_dns
http2_protocol_options: {}
lb_policy: round_robin
hosts:
- socket_address:
address: service
port_value: 6565
Dockerfile
컨테이너화합니다.
FROM envoyproxy/envoy-alpine
EXPOSE 8080
EXPOSE 9901
ADD reverse-proxy.yaml /etc/reverse-proxy.yaml
ENTRYPOINT [ "/usr/local/bin/envoy", "-c", "/etc/reverse-proxy.yaml", "--service-cluster reverse-proxy" ]
다음 번
다음 번은 웹 프런트 엔드 편입니다.
Reference
이 문제에 관하여(웹을 Kotlin 백엔드에서 시험했을 때의 메모 - 3. ReverseProxy편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hosopy/items/2bb5015bb753e78788b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
괜찮습니다. .
설정
ReverseProxy의 설정은 샘플의 reverse-proxy 디렉토리에 들어 있습니다만, 설정 파일과 Dockerfile 뿐입니다.
Envoy 설정 (reverse-proxy.yaml)
Envoy 공식 블로그 에 해설이 있으므로, 그 설정 파일을 참고로 해 곧바로 설정할 수 있었습니다.
디버깅을 위해 액세스 로그를 표준 출력으로 내보내는 설정을 추가했습니다.
reverse-proxy/reverse-proxy.yamladmin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match: { prefix: "/" }
route:
cluster: service
max_grpc_timeout: 0s
cors:
allow_origin:
- "*"
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
max_age: "1728000"
expose_headers: custom-header-1,grpc-status,grpc-message
access_log:
- name: envoy.file_access_log
config:
path: /dev/stdout
http_filters:
- name: envoy.grpc_web
- name: envoy.cors
- name: envoy.router
clusters:
- name: service
connect_timeout: 0.25s
type: logical_dns
http2_protocol_options: {}
lb_policy: round_robin
hosts:
- socket_address:
address: service
port_value: 6565
Dockerfile
컨테이너화합니다.
FROM envoyproxy/envoy-alpine
EXPOSE 8080
EXPOSE 9901
ADD reverse-proxy.yaml /etc/reverse-proxy.yaml
ENTRYPOINT [ "/usr/local/bin/envoy", "-c", "/etc/reverse-proxy.yaml", "--service-cluster reverse-proxy" ]
다음 번
다음 번은 웹 프런트 엔드 편입니다.
Reference
이 문제에 관하여(웹을 Kotlin 백엔드에서 시험했을 때의 메모 - 3. ReverseProxy편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hosopy/items/2bb5015bb753e78788b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 8080 }
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match: { prefix: "/" }
route:
cluster: service
max_grpc_timeout: 0s
cors:
allow_origin:
- "*"
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout
max_age: "1728000"
expose_headers: custom-header-1,grpc-status,grpc-message
access_log:
- name: envoy.file_access_log
config:
path: /dev/stdout
http_filters:
- name: envoy.grpc_web
- name: envoy.cors
- name: envoy.router
clusters:
- name: service
connect_timeout: 0.25s
type: logical_dns
http2_protocol_options: {}
lb_policy: round_robin
hosts:
- socket_address:
address: service
port_value: 6565
FROM envoyproxy/envoy-alpine
EXPOSE 8080
EXPOSE 9901
ADD reverse-proxy.yaml /etc/reverse-proxy.yaml
ENTRYPOINT [ "/usr/local/bin/envoy", "-c", "/etc/reverse-proxy.yaml", "--service-cluster reverse-proxy" ]
다음 번은 웹 프런트 엔드 편입니다.
Reference
이 문제에 관하여(웹을 Kotlin 백엔드에서 시험했을 때의 메모 - 3. ReverseProxy편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hosopy/items/2bb5015bb753e78788b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)