New to fossil and am trying to stand up a simple fossil server fronted by
nginx. I've read the website doco, spelunked the mailing list, and have
tweaked configurations a bit. All to no avail.

I want to use fossil and nginx to make multiple repos available via base
url's such as

  http://somewhere.mydomain.com/partner/<repo-name>

in which fossil repos live under root-owned /srv/fossils/partner as
*.fossil files

With limited nginx configuration tweaking the best I've been able to
achieve is a fossil repo main page but with invalid links (e.g. -
http://127.0.0.1:8080/logicalmaps/index) pointing to the fossil server
running in localhost mode. Via the following I see fossil redirects which
likely means a more complex nginx config.

$ curl -I http://stimpy/partner/logicalmaps
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Tue, 04 Mar 2014 18:03:09 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 80
Connection: keep-alive
Location: http://stimpy/logicalmaps/index
X-Frame-Options: SAMEORIGIN
Cache-control: no-cache

Below are the relevant snippets of my original fossil and nginx config that
does not work.

Before I spend more time (likely in the wrong direction) I'd appreciate
your guidance as to the best way to setup fossil + nginx. I'd prefer nginx
in reverse http proxy mode but SCGI is also fine. Once the base config
works, I'll move to HTTPS.

Jon



==== BASIC FOSSIL and NGINX CONFIGURATION ====

# upstart script - /etc/init/fossil.conf
description "Fossil DVCS Server"

start on runlevel [2345]
stop on runlevel [!2345]
respawn

exec /usr/local/sbin/fossil server --localhost /srv/fossils/partner


# main nginx config - /etc/nginx/nginx.conf
...
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    ...
    include /etc/nginx/conf.d/*.conf;
}


# default nginx config - /etc/nginx/conf.d/default.conf
server {
    listen       80 default_server;
    server_name  stimpy;
    server_tokens off;
    ...
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    ...
    location /partner/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_connect_timeout 30s;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    ...
}


jon@stimpy:~$ ps aux | egrep 'nginx|fossil'
root      2279  0.0  0.0   2584   372 ?        Ss   Feb26   0:00
/usr/local/sbin/fossil server --localhost /srv/fossils/partner
root     16849  0.0  0.2  31208  2652 ?        S    12:56   0:00 nginx:
master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx    16850  0.0  0.1  31564  1656 ?        S    12:56   0:00 nginx:
worker process
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to