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;'

Reply via email to