Skip to content
This repository has been archived by the owner on Nov 30, 2017. It is now read-only.

Commit

Permalink
Add config for EU mirror, fix SSL for all mirrors
Browse files Browse the repository at this point in the history
evanphx committed Dec 11, 2013
1 parent 5c280d4 commit b95d8a1
Showing 3 changed files with 279 additions and 4 deletions.
256 changes: 256 additions & 0 deletions chef/site-cookbooks/rubygems/files/default/geoip_continent.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
map $geoip_country_code $continent {
A1 --;
A2 --;
AD EU;
AE AS;
AF AS;
AG NA;
AI NA;
AL EU;
AM AS;
AN NA;
AO AF;
AP AS;
AQ AN;
AR SA;
AS OC;
AT EU;
AU OC;
AW NA;
AX EU;
AZ AS;
BA EU;
BB NA;
BD AS;
BE EU;
BF AF;
BG EU;
BH AS;
BI AF;
BJ AF;
BL NA;
BM NA;
BN AS;
BO SA;
BR SA;
BS NA;
BT AS;
BV AN;
BW AF;
BY EU;
BZ NA;
CA NA;
CC AS;
CD AF;
CF AF;
CG AF;
CH EU;
CI AF;
CK OC;
CL SA;
CM AF;
CN AS;
CO SA;
CR NA;
CU NA;
CV AF;
CX AS;
CY AS;
CZ EU;
DE EU;
DJ AF;
DK EU;
DM NA;
DO NA;
DZ AF;
EC SA;
EE EU;
EG AF;
EH AF;
ER AF;
ES EU;
ET AF;
EU EU;
FI EU;
FJ OC;
FK SA;
FM OC;
FO EU;
FR EU;
FX EU;
GA AF;
GB EU;
GD NA;
GE AS;
GF SA;
GG EU;
GH AF;
GI EU;
GL NA;
GM AF;
GN AF;
GP NA;
GQ AF;
GR EU;
GS AN;
GT NA;
GU OC;
GW AF;
GY SA;
HK AS;
HM AN;
HN NA;
HR EU;
HT NA;
HU EU;
ID AS;
IE EU;
IL AS;
IM EU;
IN AS;
IO AS;
IQ AS;
IR AS;
IS EU;
IT EU;
JE EU;
JM NA;
JO AS;
JP AS;
KE AF;
KG AS;
KH AS;
KI OC;
KM AF;
KN NA;
KP AS;
KR AS;
KW AS;
KY NA;
KZ AS;
LA AS;
LB AS;
LC NA;
LI EU;
LK AS;
LR AF;
LS AF;
LT EU;
LU EU;
LV EU;
LY AF;
MA AF;
MC EU;
MD EU;
ME EU;
MF NA;
MG AF;
MH OC;
MK EU;
ML AF;
MM AS;
MN AS;
MO AS;
MP OC;
MQ NA;
MR AF;
MS NA;
MT EU;
MU AF;
MV AS;
MW AF;
MX NA;
MY AS;
MZ AF;
NA AF;
NC OC;
NE AF;
NF OC;
NG AF;
NI NA;
NL EU;
NO EU;
NP AS;
NR OC;
NU OC;
NZ OC;
O1 --;
OM AS;
PA NA;
PE SA;
PF OC;
PG OC;
PH AS;
PK AS;
PL EU;
PM NA;
PN OC;
PR NA;
PS AS;
PT EU;
PW OC;
PY SA;
QA AS;
RE AF;
RO EU;
RS EU;
RU EU;
RW AF;
SA AS;
SB OC;
SC AF;
SD AF;
SE EU;
SG AS;
SH AF;
SI EU;
SJ EU;
SK EU;
SL AF;
SM EU;
SN AF;
SO AF;
SR SA;
ST AF;
SV NA;
SY AS;
SZ AF;
TC NA;
TD AF;
TF AN;
TG AF;
TH AS;
TJ AS;
TK OC;
TL AS;
TM AS;
TN AF;
TO OC;
TR EU;
TT NA;
TV OC;
TW AS;
TZ AF;
UA EU;
UG AF;
UM OC;
US NA;
UY SA;
UZ AS;
VA EU;
VC NA;
VE SA;
VG NA;
VI NA;
VN AS;
VU OC;
WF OC;
WS OC;
YE AS;
YT AF;
ZA AF;
ZM AF;
ZW AF;
}


9 changes: 9 additions & 0 deletions chef/site-cookbooks/rubygems/recipes/balancer.rb
Original file line number Diff line number Diff line change
@@ -75,6 +75,15 @@
mode "0644"
notifies :restart, "service[nginx]", :immediately
end

# geoip_continent.conf
cookbook_file "#{node["nginx"]["dir"]}/conf.d/geoip_continent.conf" do
source "geoip_continent.conf"
owner "root"
group "root"
mode "0644"
notifies :restart, "service[nginx]", :immediately
end
end

# symlink to sites-enabled
Original file line number Diff line number Diff line change
@@ -41,6 +41,11 @@ server {
if ($geoip_country_code = "NZ") {
set $gem_mirror http://au-m.rubygems.org;
}

if ($continent = "EU") {
set $gem_mirror http://aws-eu-cache01.rubygems.org;
}

<% end %>

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -178,20 +183,25 @@ server {

<% if node["nginx"]["geoip"] %>
if ($geoip_country_code = "CN") {
set $gem_mirror https://tokyo-m.rubygems.org;
set $gem_mirror_ssl https://tokyo-m.rubygems.org;
}

if ($geoip_country_code = "JP") {
set $gem_mirror https://tokyo-m.rubygems.org;
set $gem_mirror_ssl https://tokyo-m.rubygems.org;
}

if ($geoip_country_code = "AU") {
set $gem_mirror https://au-m.rubygems.org;
set $gem_mirror_ssl https://au-m.rubygems.org;
}

if ($geoip_country_code = "NZ") {
set $gem_mirror https://au-m.rubygems.org;
set $gem_mirror_ssl https://au-m.rubygems.org;
}

if ($continent = "EU") {
set $gem_mirror_ssl https://aws-eu-cache01.rubygems.org;
}

<% end %>

# SSL settings

0 comments on commit b95d8a1

Please sign in to comment.