Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have installed gitlab on an ubuntu ( 12.04 ) virtual machine in virtual box, on my NAS (on Windows 7)

The hostname of this machine is vubuntu. My router ( tomato v1.28 ) is configured to use the .lan domain.

On my workstation, I can ping the virtual machine successfully, using the address vubuntu.lan

The config file of gitlab in nginx is the same as given in the installation document, except I changed the listen and server_name parameters:

# Maintainer: @randx
# App Version: 4.0

upstream gitlab {
  server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket;

server {
  listen;         # e.g., listen;
  server_name gitlab.vubuntu;     # e.g., server_name;
  root /home/gitlab/gitlab/public;

  # individual nginx logs for this gitlab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

  location / {
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see below
    try_files $uri $uri/index.html $uri.html @gitlab;

  # if a file, which is not found in the root folder is requested,
  # then the proxy pass the request to the upsteam (gitlab unicorn)
  location @gitlab {
    proxy_read_timeout 300; #
    proxy_connect_timeout 300; #
    proxy_redirect     off;

    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_set_header   Host              $http_host;
    proxy_set_header   X-Real-IP         $remote_addr;

    proxy_pass http://gitlab;

The problem is that when I access http://gitlab.vubuntu.lan/ in my browser, it says it cannot find the page.

But if I access http://vubuntu.lan/, I have the gitlab page.

How can I access gitlab only using the subdomain?


share|improve this question

First, you need to add a DNS record in your router (or your hosts file, though the router is a better place) that points the subdomain to the virtual machine.

Second, it looks like nginx is listening for all requests on that IP address, irrespective of their address, because you only have one configuration block. From this question, you can see that nginx only looks at the host headers to determine the subdomain after the connection has been established. If you add another block for server_name vubuntu;, you should no longer be able to get to the gitlab site by going to vubuntu.lan.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.