This is an automated email from the ASF dual-hosted git repository. zhangning pushed a commit to branch feat-configui-nginx-to-add-register-proxy in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit c1a7857c12a14cb72ab0bb78d7445b38408b6835 Author: ZhangNing10 <[email protected]> AuthorDate: Thu Aug 15 16:58:40 2024 +0800 nginx add proxy --- config-ui/nginx.conf | 26 ++++++++++++++++++++++++++ config-ui/nginx.sh | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/config-ui/nginx.conf b/config-ui/nginx.conf index 959d8bff8..a670d2b7f 100644 --- a/config-ui/nginx.conf +++ b/config-ui/nginx.conf @@ -22,9 +22,13 @@ ${SERVER_CONF} resolver ${DNS} valid=${DNS_VALID}; resolver_timeout 3s; set $target "${DEVLAKE_ENDPOINT}"; + + #https://serverfault.com/questions/459369/disabling-url-decoding-in-nginx-proxy rewrite ^ $request_uri; rewrite ^/api/(.*) $1 break; + # If the second rewrite rule doesn't match, return 400 return 400; + proxy_send_timeout 60s; proxy_read_timeout 60s; proxy_pass ${DEVLAKE_ENDPOINT_PROTO}://$target/$uri; @@ -45,6 +49,28 @@ ${SERVER_CONF} proxy_set_header "Connection" ""; } + location /cloud-api/ { + resolver ${DNS} valid=${DNS_VALID}; + resolver_timeout 3s; + + set $target "${DEVINSIGHT_WEBSITE_API}"; + if ($target = "") { + return 503; + } + + #https://serverfault.com/questions/459369/disabling-url-decoding-in-nginx-proxy + rewrite ^ $request_uri; + rewrite ^/cloud-api/(.*) $1 break; + # If the second rewrite rule doesn't match, return 400 + return 400; + + proxy_send_timeout 60s; + proxy_read_timeout 60s; + proxy_pass $target/$uri; + proxy_http_version 1.1; + proxy_set_header "Connection" ""; + } + location /grafana/ { auth_basic off; set $external "${USE_EXTERNAL_GRAFANA}"; diff --git a/config-ui/nginx.sh b/config-ui/nginx.sh index 3e216b451..cc82c63ab 100755 --- a/config-ui/nginx.sh +++ b/config-ui/nginx.sh @@ -45,7 +45,7 @@ export DNS=$(awk 'BEGIN{ORS=" "} $1=="nameserver" {if ($2 ~ ":") {print "["$2"]" export DNS_VALID=${DNS_VALID:-300s} export DEVLAKE_ENDPOINT_PROTO=${DEVLAKE_ENDPOINT_PROTO:-http} export GRAFANA_ENDPOINT_PROTO=${GRAFANA_ENDPOINT_PROTO:-http} -envsubst '${LISTENER} ${DEVLAKE_ENDPOINT} ${DEVLAKE_ENDPOINT_PROTO} ${GRAFANA_ENDPOINT} ${GRAFANA_ENDPOINT_PROTO} ${USE_EXTERNAL_GRAFANA} ${SERVER_CONF} ${DNS} ${DNS_VALID}' \ +envsubst '${LISTENER} ${DEVLAKE_ENDPOINT} ${DEVLAKE_ENDPOINT_PROTO} ${DEVINSIGHT_WEBSITE_API} ${GRAFANA_ENDPOINT} ${GRAFANA_ENDPOINT_PROTO} ${USE_EXTERNAL_GRAFANA} ${SERVER_CONF} ${DNS} ${DNS_VALID}' \ < /etc/nginx/conf.d/default.conf.tpl \ > /etc/nginx/conf.d/default.conf nginx -g 'daemon off;'
