簡體   English   中英

子網域+ nginx +反向代理+ jenkins + gitlab

[英]subdomains + nginx + reverse proxy + jenkins + gitlab

在互聯網上搜索有關如何運行網站+ jenkins + gitlab的完整指南和說明,如下所示:

  • 詹金斯@ jenkins.domain.com
  • GitLab @ gitlab.domain.com
  • 靜態網站@ domain.com

即服務器上的特定服務,並可以通過子域訪問它們,我沒有找到並回答。

我們正在運行ubuntu,nginx,並擁有一個域名example.com和一個指向我們IP地址111.111.111.111的A記錄。

我們可以看到nginx歡迎頁面。

子域名如何解析? 在哪里創建它們? 我們的服務器可以成為DNS嗎? 最終的nginx conf應該是什么?

這是錯誤的,因為它需要為靜態網站提供服務,並嘗試為jenkins提供靜態文件,結果是404。

server {
  access_log        logs/landing.access.log;
  server_name       example.com;
  proxy_set_header  X-Real-IP $remote_addr;
  proxy_set_header  Host $host;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

  location / {
    root /var/www/html/landing;
    index index.html;
  }

  location /app {
    proxy_pass      http://localhost:9981;
  }

  location ^~ /jenkins {
    proxy_pass          http://127.0.0.1:9990;
    proxy_read_timeout  90;

    # Fix the “It appears that your reverse proxy set up is broken" error.
    proxy_redirect      http://127.0.0.1:9990 $scheme://example.com;

    # Optionally, require HTTP basic auth.
    # auth_basic "Please authenticate to use Jenkins";
    # auth_basic_user_file /opt/nginx/htpasswd;
  }
}

那應該有另一個服務器塊嗎?

server {
  access_log        logs/jenkins.access.log;
  server_name       jenkins example.com;
  proxy_set_header  X-Real-IP $remote_addr;
  proxy_set_header  Host $host;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

  proxy_pass          http://127.0.0.1:9990;
}

但是,由於另一個原因,此代碼給出了404,我認為第二個代碼塊與第一個代碼沖突,因為我試圖通過example.com而不是subdomain.example.com訪問它。 並且subdomain.example.com無法解析。

好吧,你有幾個不同的問題。 第一個與DNS相關的問題。 如果您具有domain.tld,則請轉到管理該域的DNS的任何人,然后添加一個指向您的nginx服務器的CNAMEA記錄。

至於您的Jenkins nginx設置。 我將創建一個新文件,例如jenkins.domain.tld.conf ,並將其放入我從此處復制的文件中

server {

    listen 80;
    server_name jenkins.domain.tld;

    location / {

      proxy_set_header        Host $host:$server_port;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      # Fix the "It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://127.0.0.1:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://127.0.0.1:8080 https://jenkins.domain.tld;

      # Required for new HTTP-based CLI
      proxy_http_version 1.1;
      proxy_request_buffering off;
      # workaround for https://issues.jenkins-ci.org/browse/JENKINS-45651
      add_header 'X-SSH-Endpoint' 'jenkins.domain.tld:50022' always;     
    }
  }

對於每個子域,請訪問Google並搜索服務 nginx ,您應該找到有關如何設置它的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM