Skip to content

Fix nginx location directive

Ben Prescott_ requested to merge docs-bprescott/20230522-nginx_503 into master

What does this MR do?

Tested this, following on from this discussion

It didn't work. This change modifies the location directive so it does work, and also makes it indent nicely.

   location ~ ^/(404|500|502)(-custom)?\.html$ {
     root /opt/gitlab/embedded/service/gitlab-rails/public;
     internal;
   }

+  location = /api/v4/jobs/request {
+    deny all;
+    return 503;
+  }

Found the various modifiers mentioned on a blog post. I did try ~ as well, but got nowhere with that as well.

"POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 204 0 "" "gitlab-runner 14.5.2 (14-5-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 503 190 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 503 190 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -
"POST /api/v4/jobs/request HTTP/1.1" 503 190 "" "gitlab-runner 14.1.0 (14-1-stable; go1.13.8; linux/amd64)" -

This can be applied on the fly.

On a runner:

gitlab-runner[785]: Checking for jobs...            received job=190705 repo_url=[snip]
gitlab-runner[785]: Checking for jobs...            received job=190707 repo_url=[snip]
gitlab-runner[785]: Checking for jobs...            received job=190708 repo_url=[snip]
Job succeeded                                       duration_s=16.218225295 job=190705
WARNING: Checking for jobs... failed                runner=x status=503 Service Temporarily Unavailable
WARNING: Checking for jobs... failed                runner=x status=503 Service Temporarily Unavailable
Job succeeded                                       duration_s=99.898120424 job=190707
WARNING: Checking for jobs... failed                runner=x status=503 Service Temporarily Unavailable
Job succeeded                                       duration_s=99.104210724 job=190708
WARNING: Checking for jobs... failed                runner=x status=503 Service Temporarily Unavailable
WARNING: Checking for jobs... failed                runner=x status=503 Service Temporarily Unavailable

and in GitLab, the jobs complete, the logs arrive .. it stops new work starting as expected.

image

Related issues

Author's checklist

If you are a GitLab team member and only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Reviewer's checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • Ensure a release milestone is set.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by Ben Prescott_

Merge request reports