summaryrefslogtreecommitdiffstats
path: root/usr/local/etc/nginx/nginx.conf
blob: 3c4800060458ff750fd480317dc657448d1d18df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
worker_processes  1;

events {
	worker_connections  1024;
}

http {
	include			mime.types;
	default_type		application/octet-stream;
	sendfile		on;
	keepalive_timeout	65;
	gzip			on;
	gzip_vary		on;
	gzip_min_length		1k;
	gzip_proxied		expired no-cache no-store private auth;
	gzip_buffers		4 16k;
	gzip_http_version	1.1;
	gzip_comp_level		2;
	gzip_types		text/plain application/x-javascript application/javascript text/css application/xml application/json;

	map $sent_http_content_type $expires {
		default                    off;
		text/css                   15m;
		application/javascript     15m;
		~image/                    15m;
	}

	server{
		server_name  jozanofastora.xyz;
		root   /usr/local/www/jozan;
		index  index.html;
		expires $expires;

		location / {
			try_files $uri $uri/ =404;
		} 
		location ~ /\.ht {
			deny all;
		}
		location ~ \.cgi$ {
			include		fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME $document_root/asm-example.cgi;
			fastcgi_param   PATH_INFO       $uri;
			fastcgi_param   HTTP_HOST       $server_name;
			fastcgi_pass    unix:/var/run/fcgiwrap/fcgiwrap.sock;
		}
		error_page  403 /403.html;
		location = /403.html {
			root /usr/local/www/jozan/err;
		}
		error_page  404 /404.html;
		location = /404.html {
			root /usr/local/www/jozan/err;
		}
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/local/www/nginx-dist;
		}
	
	listen 443 ssl;
	ssl_certificate /usr/local/etc/letsencrypt/live/jozanofastora.xyz/fullchain.pem;
	ssl_certificate_key /usr/local/etc/letsencrypt/live/jozanofastora.xyz/privkey.pem;
}

	server {
		server_name gitjoe.xyz;
		root /usr/local/www/gitjoe;
		try_files $uri @cgit;
		index cgit.cgi;

		location @cgit {
			include		fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME $document_root/cgit.cgi;
			fastcgi_param   PATH_INFO       $uri;
			fastcgi_param   QUERY_STRING    $args;
			fastcgi_param   HTTP_HOST       $server_name;
			fastcgi_param   CGIT_CONFIG	/usr/local/etc/cgitrc;
			fastcgi_pass    unix:/var/run/fcgiwrap/fcgiwrap.sock;

			gzip off;
			rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break;
		}
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/local/www/nginx-dist;
		}

	listen 443 ssl;
	ssl_certificate /usr/local/etc/letsencrypt/live/gitjoe.xyz/fullchain.pem;
	ssl_certificate_key /usr/local/etc/letsencrypt/live/gitjoe.xyz/privkey.pem;
} 

	server {
		server_name fossil.jozanofastora.xyz;
		index  index.html;
		root /usr/local/www/fossiljoe;

		# Bypass Fossil for the static documentation generated from
		# our source code by Doxygen, so it merges into the embedded
		# doc URL hierarchy at Fossil’s $ROOT/doc without requiring that
		# these generated files actually be stored in the repo.  This
		# also lets us set aggressive caching on these docs, since
		# they rarely change.
		location /code/doc/html {
			root /usr/local/www/fossiljoe;

			location ~* \.(html|ico|css|js|gif|jpg|png)$ {
				expires 7d;
				add_header Vary Accept-Encoding;
				access_log off;
			}
		}
		# Redirect everything else to the Fossil instance
		location /code {
			include scgi_params;
			scgi_param SCRIPT_NAME "/code";
			scgi_pass 127.0.0.1:12345;
		}
}

server{
	if ($host = gitjoe.xyz) {
		return 301 https://$host?p=about;
	}

	server_name  gitjoe.xyz;
	listen 80;
	return 404;
}

server{
	if ($host = jozanofastora.xyz) {
		return 301 https://$host$request_uri;
	}

	server_name  jozanofastora.xyz;
	listen 80;
	return 404;
}

#server {
#	if ($host = fossil.jozanofastora.xyz) {
#		return 301 https://$host$request_uri;
#	}
#
#	server_name fossil.jozanofastora.xyz;
#	listen 80;
#	return 404;
#}

server {
	server_name  www.jozanofastora.xyz;
	listen 80;
	listen 443 ssl;
	rewrite ^/(.*) http://jozanofastora.xyz/$1 permanent;
	ssl_certificate /usr/local/etc/letsencrypt/live/jozanofastora.xyz/fullchain.pem;
	ssl_certificate_key /usr/local/etc/letsencrypt/live/jozanofastora.xyz/privkey.pem;
	return 404;
}

server {

	server_name  www.gitjoe.xyz git.jozanofastora.xyz;
	listen 80;
	listen 443 ssl;
	rewrite ^/(.*) http://gitjoe.xyz/?p=about permanent;
	ssl_certificate /usr/local/etc/letsencrypt/live/gitjoe.xyz/fullchain.pem;
	ssl_certificate_key /usr/local/etc/letsencrypt/live/gitjoe.xyz/privkey.pem;
	return 404;
}
}