diff --git a/Dockerfile b/Dockerfile index 3d933cbd2a5b5ac98ac26da68ef546a48c1fd172..7e344978d298f734642e13ea76c85b7f66cd3ef1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ RUN ls /home/quick-isuue/web FROM swr.cn-north-4.myhuaweicloud.com/opensourceway/openeuler/nginx:1.24.0-22.03-lts-sp1 as NginxBuilder -FROM swr.cn-north-4.myhuaweicloud.com/opensourceway/website/openeuler:22.03-lts-sp1-latest +FROM openeuler/openeuler:22.03 ENV NGINX_CONFIG_FILE /etc/nginx/nginx.conf ENV NGINX_CONFIG_PATH /etc/nginx/ diff --git a/deploy/nginx/nginx.conf b/deploy/nginx/nginx.conf index 17b1eb0400f2a2aafb7a60549e1b6afeb5e5aed8..87aec6c66a9b73d3d328acf67476f26fcf4263f5 100644 --- a/deploy/nginx/nginx.conf +++ b/deploy/nginx/nginx.conf @@ -42,8 +42,11 @@ http { proxy_hide_header X-Powered-By; proxy_request_buffering off; - limit_conn_zone $binary_remote_addr zone=limitperip:10m; - limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=1000r/s; + real_ip_header X-Real-IP; + + limit_conn_zone $http_x_real_ip zone=limitperip:10m; + limit_req_zone $http_x_real_ip zone=frontendratelimit:10m rate=1000r/s; + limit_req_zone $http_x_real_ip zone=ratelimit:10m rate=1000r/s; gzip on; gzip_min_length 1k; @@ -96,10 +99,12 @@ http { } location / { + limit_req zone=frontendratelimit burst=2 nodelay; proxy_set_header X-Forwarded-For $http_x_real_ip; proxy_set_header Host $host; location /assets { + limit_req zone=frontendratelimit burst=2 nodelay; add_header X-XSS-Protection "1; mode=block"; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; @@ -117,12 +122,14 @@ http { } location /api-dsapi/ { + limit_req zone=ratelimit burst=2 nodelay; proxy_set_header X-Forwarded-For $http_x_real_ip; proxy_pass https://dsapi.osinfra.cn/; } location /api-omapi/ { + limit_req zone=ratelimit burst=2 nodelay; proxy_set_header X-Forwarded-For $http_x_real_ip; proxy_pass https://omapi.test.osinfra.cn/; @@ -130,9 +137,10 @@ http { } location /api-issues/ { + limit_req zone=ratelimit burst=2 nodelay; proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_pass https://quickissue-server.test.osinfra.cn/; + proxy_pass https://quickissue-server.test.osinfra.cn/; } diff --git a/src/api/api-quick-issue.ts b/src/api/api-quick-issue.ts index 90aa0dc7a682b98dd9ccc5d3fa6cf4662e792c07..283e606c0526b2fbf8a6ea0fb1462529fcc8abb5 100644 --- a/src/api/api-quick-issue.ts +++ b/src/api/api-quick-issue.ts @@ -117,7 +117,7 @@ export function reqGet() { */ export function reqCheck(data: { captcha_id: number; - challenge: number; + challenge: string; email: string; }) { const url = '/api-issues/verify/check'; diff --git a/src/components/AppVerify.vue b/src/components/AppVerify.vue index 2fd7c7361f4758d92b300d4b11d284b3dfb85e27..8aa1471f5263f556cf563792d3642642d2f345f2 100644 --- a/src/components/AppVerify.vue +++ b/src/components/AppVerify.vue @@ -50,9 +50,13 @@ const { t, locale } = useI18n();