在互联网上搜索有关如何运行网站+ jenkins + gitlab的完整指南和解释:
即服务器上的特定服务,并且可以通过子域访问它们,我找不到并回答。
我们正在运行ubuntu,nginx并拥有一个域名example.com和一个指向我们的IP地址的A记录111.111.111.111
我们可以看到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未解析。
答案 0 :(得分:1)
嗯,你有几个不同的问题。第一个DNS相关问题。如果您有domain.tld,那么您将转到管理该域的DNS的任何人,并添加指向CNAME
服务器的A
或nginx
记录。
至于您的Jenkins
nginx
设置。我会创建一个像jenkins.domain.tld.conf
这样的新文件并放入我从here
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
,您应该找到有关如何设置的建议。