【发布时间】:2017-11-28 21:46:24
【问题描述】:
在互联网上搜索有关如何运行网站 + jenkins + gitlab 的完整指南和说明:
- Jenkins @ jenkins.domain.com
- GitLab @ gitlab.domain.com
- 静态网站@domain.com
即服务器上的特定服务并通过子域访问它们,我还没有找到并回答。
我们运行的是ubuntu,nginx,有一个域名example.com和一条A记录指向我们的ip地址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 没有解析。
【问题讨论】:
标签: ubuntu nginx jenkins server dns