pound_config_generator 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/pound.erb +8 -68
- data/lib/pound_config_generator.rb +0 -1
- data/lib/pound_config_generator/version.rb +1 -1
- metadata +3 -3
data/lib/pound.erb
CHANGED
@@ -1,14 +1,4 @@
|
|
1
1
|
<%
|
2
|
-
all_sites = []
|
3
|
-
Array(config['https_sites']['sites']).each do |n,s|
|
4
|
-
all_sites << s['domain']
|
5
|
-
end if config['https_sites']
|
6
|
-
Array(config['http_sites']['sites'] ).each do |n,s|
|
7
|
-
all_sites << s['domain']
|
8
|
-
end if config['http_sites']
|
9
|
-
all_sites.uniq! # kill duplicates
|
10
|
-
all_sites.sort! # sort by domain
|
11
|
-
|
12
2
|
cert_path = \
|
13
3
|
config['https_sites']['cert_path'] || '/etc/pound/certs/cert.pem'
|
14
4
|
|
@@ -20,14 +10,14 @@
|
|
20
10
|
User "www-data"
|
21
11
|
Group "www-data"
|
22
12
|
#WebDAV 0
|
23
|
-
## Logging:
|
24
|
-
LogLevel
|
13
|
+
## Logging:
|
14
|
+
LogLevel 1
|
25
15
|
## how often to check backends (seconds)
|
26
|
-
Alive
|
16
|
+
Alive 5
|
27
17
|
## how long pound will wait for client connection (seconds)
|
28
|
-
Client
|
29
|
-
##
|
30
|
-
TimeOut
|
18
|
+
Client 30
|
19
|
+
## timeout to backend servers (seconds)
|
20
|
+
TimeOut 30
|
31
21
|
|
32
22
|
<% if https_sites %>
|
33
23
|
# ----------------------------------------------------------------
|
@@ -41,19 +31,10 @@ ListenHTTPS
|
|
41
31
|
AddHeader "X-Forwarded-Proto: https"
|
42
32
|
HeadRemove "X-Forwarded-Proto"
|
43
33
|
<% https_sites.sort_by { |n,s| s['domain'] }.each do |name, site| %>
|
44
|
-
<% this_domain = site['domain'] ||
|
34
|
+
<% this_domain = site['domain'] || false %>
|
45
35
|
# <%= name.upcase %>
|
46
36
|
|
47
37
|
Service
|
48
|
-
HeadRequire "Host: <%= this_domain.gsub(/\./, '\.') %>"
|
49
|
-
<% all_sites.reject { |d| this_domain == d }.each do |domain| %>
|
50
|
-
HeadDeny "Host: <%= domain.gsub(/\./, '\.') %>"
|
51
|
-
<% end # all_sites.each %>
|
52
|
-
|
53
|
-
<% if site['static'] %>
|
54
|
-
URL "<%= site['filter'] || '.*.(css|js|jpg|gif|png)' %>"
|
55
|
-
<% end %>
|
56
|
-
|
57
38
|
<% 1.upto(site['num_ports'] || 5) do |i| %>
|
58
39
|
<% Array(site['backends']).each do |backend| %>
|
59
40
|
BackEnd
|
@@ -66,23 +47,6 @@ ListenHTTPS
|
|
66
47
|
<% end # 0 - num_ports %>
|
67
48
|
End
|
68
49
|
<% end # https_sites[:sites].each %>
|
69
|
-
|
70
|
-
<% if http_sites %>
|
71
|
-
<% http_sites.sort_by { |n,s| s['domain'] }.each do |name, site| %>
|
72
|
-
<% next unless site['redirect'] %>
|
73
|
-
<% this_domain = site['domain'] || 'test.domain.com' %>
|
74
|
-
# <%= name.upcase %> (redirect)
|
75
|
-
Service
|
76
|
-
HeadRequire "Host: <%= this_domain.gsub(/\./, '\.') %>"
|
77
|
-
<% all_sites.reject { |d| this_domain == d }.each do |domain| %>
|
78
|
-
HeadDeny "Host: <%= domain.gsub(/\./, '\.') %>"
|
79
|
-
<% end # all_sites.each %>
|
80
|
-
|
81
|
-
Redirect "http://<%= this_domain %>"
|
82
|
-
End
|
83
|
-
|
84
|
-
<% end # http_sites[:sites].each %>
|
85
|
-
<% end # if HTTP %>
|
86
50
|
End
|
87
51
|
<% end # if HTTPS %>
|
88
52
|
|
@@ -93,16 +57,9 @@ ListenHTTP
|
|
93
57
|
Port 80
|
94
58
|
xHTTP 1
|
95
59
|
<% http_sites.sort_by { |n,s| s['domain'] }.each do |name, site| %>
|
96
|
-
<% this_domain = site['domain'] || 'test.domain.com' %>
|
97
|
-
|
98
60
|
# <%= name.upcase %>
|
99
61
|
|
100
62
|
Service
|
101
|
-
HeadRequire "Host: <%= this_domain.gsub(/\./, '\.') %>"
|
102
|
-
<% all_sites.reject { |d| this_domain == d }.each do |domain| %>
|
103
|
-
HeadDeny "Host: <%= domain.gsub(/\./, '\.') %>"
|
104
|
-
<% end # all_sites.each %>
|
105
|
-
|
106
63
|
<% 1.upto(site['num_ports'] || 5) do |i| %>
|
107
64
|
<% Array(site['backends']).each do |backend| %>
|
108
65
|
BackEnd
|
@@ -115,22 +72,5 @@ ListenHTTP
|
|
115
72
|
<% end # 0 - num_ports %>
|
116
73
|
End
|
117
74
|
<% end # http_site[:sites].each %>
|
118
|
-
|
119
|
-
<% if https_sites %>
|
120
|
-
<% https_sites.sort_by { |n,s| s['domain'] }.each do |name, site| %>
|
121
|
-
<% next unless site['redirect'] %>
|
122
|
-
<% this_domain = site['domain'] || 'test.domain.com' %>
|
123
|
-
# <%= name.upcase %> (redirect)
|
124
|
-
Service
|
125
|
-
HeadRequire "Host: <%= this_domain.gsub(/\./, '\.') %>"
|
126
|
-
<% all_sites.reject { |d| this_domain == d }.each do |domain| %>
|
127
|
-
HeadDeny "Host: <%= domain.gsub(/\./, '\.') %>"
|
128
|
-
<% end # all_sites.each %>
|
129
|
-
|
130
|
-
Redirect "https://<%= this_domain %>"
|
131
|
-
End
|
132
|
-
|
133
|
-
<% end # https_sites[:sites].each %>
|
134
|
-
<% end # if HTTPS %>
|
135
75
|
End
|
136
|
-
<% end # if HTTP %>
|
76
|
+
<% end # if HTTP %>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pound_config_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Eric Boehs
|