Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
gitlab-ce
Commits
75e78f10
Commit
75e78f10
authored
Mar 08, 2017
by
Nick Thomas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The GitLab Pages external-http and external-https arguments can be specified multiple times
parent
d34300e3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
25 additions
and
20 deletions
+25
-20
config/gitlab.yml.example
config/gitlab.yml.example
+2
-2
config/initializers/1_settings.rb
config/initializers/1_settings.rb
+2
-2
doc/administration/pages/index.md
doc/administration/pages/index.md
+16
-11
features/steps/project/pages.rb
features/steps/project/pages.rb
+3
-3
lib/support/init.d/gitlab.default.example
lib/support/init.d/gitlab.default.example
+2
-2
No files found.
config/gitlab.yml.example
View file @
75e78f10
...
@@ -157,8 +157,8 @@ production: &base
...
@@ -157,8 +157,8 @@ production: &base
host: example.com
host: example.com
port: 80 # Set to 443 if you serve the pages with HTTPS
port: 80 # Set to 443 if you serve the pages with HTTPS
https: false # Set to true if you serve the pages with HTTPS
https: false # Set to true if you serve the pages with HTTPS
# external_http:
"1.1.1.1:80"
# If defined, enables custom domain support in GitLab Pages
# external_http:
["1.1.1.1:80", "[2001::1]:80"]
# If defined, enables custom domain support in GitLab Pages
# external_https:
"1.1.1.1:443"
# If defined, enables custom domain and certificate support in GitLab Pages
# external_https:
["1.1.1.1:443", "[2001::1]:443"]
# If defined, enables custom domain and certificate support in GitLab Pages
## Mattermost
## Mattermost
## For enabling Add to Mattermost button
## For enabling Add to Mattermost button
...
...
config/initializers/1_settings.rb
View file @
75e78f10
...
@@ -278,8 +278,8 @@ Settings.pages['host'] ||= "example.com"
...
@@ -278,8 +278,8 @@ Settings.pages['host'] ||= "example.com"
Settings
.
pages
[
'port'
]
||=
Settings
.
pages
.
https
?
443
:
80
Settings
.
pages
[
'port'
]
||=
Settings
.
pages
.
https
?
443
:
80
Settings
.
pages
[
'protocol'
]
||=
Settings
.
pages
.
https
?
"https"
:
"http"
Settings
.
pages
[
'protocol'
]
||=
Settings
.
pages
.
https
?
"https"
:
"http"
Settings
.
pages
[
'url'
]
||=
Settings
.
send
(
:build_pages_url
)
Settings
.
pages
[
'url'
]
||=
Settings
.
send
(
:build_pages_url
)
Settings
.
pages
[
'external_http'
]
||=
false
if
Settings
.
pages
[
'external_http'
].
nil
?
Settings
.
pages
[
'external_http'
]
||=
false
unless
Settings
.
pages
[
'external_http'
].
present
?
Settings
.
pages
[
'external_https'
]
||=
false
if
Settings
.
pages
[
'external_https'
].
nil
?
Settings
.
pages
[
'external_https'
]
||=
false
unless
Settings
.
pages
[
'external_https'
].
present
?
#
#
# Git LFS
# Git LFS
...
...
doc/administration/pages/index.md
View file @
75e78f10
...
@@ -26,9 +26,9 @@ it works.
...
@@ -26,9 +26,9 @@ it works.
---
---
In the case of
[
custom domains
](
#custom-domains
)
(
but
not
In the case of
[
custom domains
](
#custom-domains
)
(
but
not
[
wildcard domains
](
#wildcard-domains
)
), the Pages daemon needs to listen on
[
wildcard domains
](
#wildcard-domains
)
), the Pages daemon needs to listen on
ports
`80`
and/or
`443`
. For that reason, there is some flexibility in the way
ports
`80`
and/or
`443`
. For that reason, there is some flexibility in the way
which you can set it up:
which you can set it up:
1.
Run the Pages daemon in the same server as GitLab, listening on a secondary IP.
1.
Run the Pages daemon in the same server as GitLab, listening on a secondary IP.
...
@@ -65,11 +65,13 @@ you need to add a [wildcard DNS A record][wiki-wildcard-dns] pointing to the
...
@@ -65,11 +65,13 @@ you need to add a [wildcard DNS A record][wiki-wildcard-dns] pointing to the
host that GitLab runs. For example, an entry would look like this:
host that GitLab runs. For example, an entry would look like this:
```
```
*.example.io. 1800 IN A 1.1.1.1
*.example.io. 1800 IN A 1.1.1.1
*.example.io. 1800 IN AAAA 2001::1
```
```
where
`example.io`
is the domain under which GitLab Pages will be served
where
`example.io`
is the domain under which GitLab Pages will be served
and
`1.1.1.1`
is the IP address of your GitLab instance.
and
`1.1.1.1`
is the IPv4 address of your GitLab instance and
`2001::1`
is the
IPv6 address. If you don't have IPv6, you can omit the AAAA record.
> **Note:**
> **Note:**
You should not use the GitLab domain to serve user pages. For more information
You should not use the GitLab domain to serve user pages. For more information
...
@@ -141,7 +143,8 @@ outside world.
...
@@ -141,7 +143,8 @@ outside world.
In addition to the wildcard domains, you can also have the option to configure
In addition to the wildcard domains, you can also have the option to configure
GitLab Pages to work with custom domains. Again, there are two options here:
GitLab Pages to work with custom domains. Again, there are two options here:
support custom domains with and without TLS certificates. The easiest setup is
support custom domains with and without TLS certificates. The easiest setup is
that without TLS certificates.
that without TLS certificates. In either case, you'll need a secondary IP. If
you have IPv6 as well as IPv4 addresses, you can use them both.
### Custom domains
### Custom domains
...
@@ -163,11 +166,12 @@ world. Custom domains are supported, but no TLS.
...
@@ -163,11 +166,12 @@ world. Custom domains are supported, but no TLS.
pages_external_url "http://example.io"
pages_external_url "http://example.io"
nginx['listen_addresses'] = ['1.1.1.1']
nginx['listen_addresses'] = ['1.1.1.1']
pages_nginx['enable'] = false
pages_nginx['enable'] = false
gitlab_pages['external_http'] =
'1.1.1.2:80'
gitlab_pages['external_http'] =
['1.1.1.2:80', '[2001::2]:80']
```
```
where `1.1.1.1` is the primary IP address that GitLab is listening to and
where `1.1.1.1` is the primary IP address that GitLab is listening to and
`1.1.1.2` the secondary IP where the GitLab Pages daemon listens to.
`1.1.1.2` and `2001::2` are the secondary IPs the GitLab Pages daemon
listens on. If you don't have IPv6, you can omit the IPv6 address.
1.
[
Reconfigure GitLab
][
reconfigure
]
1.
[
Reconfigure GitLab
][
reconfigure
]
...
@@ -194,12 +198,13 @@ world. Custom domains and TLS are supported.
...
@@ -194,12 +198,13 @@ world. Custom domains and TLS are supported.
pages_nginx['enable'] = false
pages_nginx['enable'] = false
gitlab_pages['cert'] = "/etc/gitlab/ssl/example.io.crt"
gitlab_pages['cert'] = "/etc/gitlab/ssl/example.io.crt"
gitlab_pages['cert_key'] = "/etc/gitlab/ssl/example.io.key"
gitlab_pages['cert_key'] = "/etc/gitlab/ssl/example.io.key"
gitlab_pages['external_http'] =
'1.1.1.2:80'
gitlab_pages['external_http'] =
['1.1.1.2:80', '[2001::2]:80']
gitlab_pages['external_https'] =
'1.1.1.2:443'
gitlab_pages['external_https'] =
['1.1.1.2:443', '[2001::2]:443']
```
```
where `1.1.1.1` is the primary IP address that GitLab is listening to and
where `1.1.1.1` is the primary IP address that GitLab is listening to and
`1.1.1.2` the secondary IP where the GitLab Pages daemon listens to.
`1.1.1.2` and `2001::2` are the secondary IPs where the GitLab Pages daemon
listens on. If you don't have IPv6, you can omit the IPv6 address.
1.
[
Reconfigure GitLab
][
reconfigure
]
1.
[
Reconfigure GitLab
][
reconfigure
]
...
...
features/steps/project/pages.rb
View file @
75e78f10
...
@@ -53,13 +53,13 @@ class Spinach::Features::ProjectPages < Spinach::FeatureSteps
...
@@ -53,13 +53,13 @@ class Spinach::Features::ProjectPages < Spinach::FeatureSteps
end
end
step
'pages are exposed on external HTTP address'
do
step
'pages are exposed on external HTTP address'
do
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_http
).
and_return
(
'1.1.1.1:80'
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_http
).
and_return
(
[
'1.1.1.1:80'
]
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_https
).
and_return
(
nil
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_https
).
and_return
(
nil
)
end
end
step
'pages are exposed on external HTTPS address'
do
step
'pages are exposed on external HTTPS address'
do
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_http
).
and_return
(
'1.1.1.1:80'
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_http
).
and_return
(
[
'1.1.1.1:80'
]
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_https
).
and_return
(
'1.1.1.1:443'
)
allow
(
Gitlab
.
config
.
pages
).
to
receive
(
:external_https
).
and_return
(
[
'1.1.1.1:443'
]
)
end
end
step
'I should be able to add a New Domain'
do
step
'I should be able to add a New Domain'
do
...
...
lib/support/init.d/gitlab.default.example
View file @
75e78f10
...
@@ -56,14 +56,14 @@ gitlab_workhorse_log="$app_root/log/gitlab-workhorse.log"
...
@@ -56,14 +56,14 @@ gitlab_workhorse_log="$app_root/log/gitlab-workhorse.log"
# The value of -listen-http must be set to `gitlab.yml > pages > external_http`
# The value of -listen-http must be set to `gitlab.yml > pages > external_http`
# as well. For example:
# as well. For example:
#
#
# -listen-http 1.1.1.1:80
# -listen-http 1.1.1.1:80
-listen-http [2001::1]:80
#
#
# To enable HTTPS support for custom domains add the `-listen-https`,
# To enable HTTPS support for custom domains add the `-listen-https`,
# `-root-cert` and `-root-key` directives in `gitlab_pages_options` below.
# `-root-cert` and `-root-key` directives in `gitlab_pages_options` below.
# The value of -listen-https must be set to `gitlab.yml > pages > external_https`
# The value of -listen-https must be set to `gitlab.yml > pages > external_https`
# as well. For example:
# as well. For example:
#
#
# -listen-https 1.1.1.1:443 -root-cert /path/to/example.com.crt -root-key /path/to/example.com.key
# -listen-https 1.1.1.1:443 -
listen-http [2001::1]:443 -
root-cert /path/to/example.com.crt -root-key /path/to/example.com.key
#
#
# The -pages-domain must be specified the same as in `gitlab.yml > pages > host`.
# The -pages-domain must be specified the same as in `gitlab.yml > pages > host`.
# Set `gitlab_pages_enabled=true` if you want to enable the Pages feature.
# Set `gitlab_pages_enabled=true` if you want to enable the Pages feature.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment