[英]subdomains + nginx + reverse proxy + jenkins + gitlab
在互聯網上搜索有關如何運行網站+ jenkins + gitlab的完整指南和說明,如下所示:
即服務器上的特定服務,並可以通過子域訪問它們,我沒有找到並回答。
我們正在運行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
服務器的CNAME
或A
記錄。
至於您的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.