diff --git a/nginx/files/_limit.conf b/nginx/files/_limit.conf
index 43e4315..b1d88ad 100644
--- a/nginx/files/_limit.conf
+++ b/nginx/files/_limit.conf
@@ -1,29 +1,29 @@
 {%- if site.get('limit', {}).get('enabled', False) %}
 # Create whitelist for ip addresses
-geo $geo_{{site_name}} {
+geo $geo_{{ site_name }} {
     default "enforce";
 {%-   for ip in site.limit.get('ip_whitelist', []) %}
-    {{ip}} "whitelist";
+    {{ ip }} "whitelist";
 {%-   endfor %}
 }
 
 # First, map all whitelisted IP's to the request query
-map $geo_{{site_name}} $limit_{{site_name}} {
-    default {{site.limit.get('query', '$binary_remote_addr')}};
+map $geo_{{ site_name }} $limit_{{ site_name }} {
+    default {{ site.limit.get('query', '$binary_remote_addr') }};
     "whitelist" "";
 }
-limit_req_zone $limit_{{site_name}} zone={{site_name}}:{{site.limit.get('size', '100m')}} rate={{site.limit.get('rate', '30r/m')}};
+limit_req_zone $limit_{{ site_name }} zone={{ site_name }}:{{ site.limit.get('size', '100m') }} rate={{ site.limit.get('rate', '30r/m') }};
 
 {%-   for subfilter_name, subfilter in site.limit.get('subfilters', {}).items() %}
 
-map "${geo_{{site_name}}}{{ subfilter.get('input', '$limit_{{site_name}}') }}" $limit_{{site_name}}_{{subfilter_name}} {
-    default {% if subfilter.get('mode', 'whitelist') == "whitelist" %}"{{ subfilter.get('input', '$limit_{{site_name}}') }}";{% else %}""{% endif %};
+map "${geo_{{ site_name }}}{{ subfilter.get('input', '$limit_{{ site_name }}') }}" $limit_{{ site_name }}_{{ subfilter_name }} {
+    default {% if subfilter.get('mode', 'whitelist') == "whitelist" %}"{{ subfilter.get('input', '$limit_{{ site_name }}') }}";{% else %}""{% endif %};
     "~^whitelist" "";  # Allow previously whitelisted results.
 {%-     for match in subfilter.get('items', []) %}
-    "{{match}}" {% if subfilter.get('mode', 'whitelist') == 'whitelist' %}""{% else %}"{{ subfilter.get('input', '$limit_{{site_name}}') }}"{% endif %};
+    "{{ match }}" {% if subfilter.get('mode', 'whitelist') == 'whitelist' %}""{% else %}"{{ subfilter.get('input', '$limit_{{ site_name }}') }}"{% endif %};
 {%-     endfor %}
 }
-limit_req_zone $limit_{{site_name}}_{{subfilter_name}} zone={{site_name}}_{{subfilter_name}}:{{subfilter.get('size', site.limit.get('size', '100m'))}} rate={{subfilter.get('rate', site.limit.get('rate', '30r/m'))}};
+limit_req_zone $limit_{{ site_name }}_{{ subfilter_name }} zone={{ site_name }}_{{ subfilter_name }}:{{ subfilter.get('size', site.limit.get('size', '100m')) }} rate={{ subfilter.get('rate', site.limit.get('rate', '30r/m')) }};
 {%-   endfor %}
 
 {%- endif %}
diff --git a/nginx/files/proxy.conf b/nginx/files/proxy.conf
index 8888549..9a60194 100644
--- a/nginx/files/proxy.conf
+++ b/nginx/files/proxy.conf
@@ -18,8 +18,8 @@
   {%- include "nginx/files/_auth.conf" %}
 
   {%- if site.get('limit', {}).get('enabled', False) %}
-  limit_req_status {{site.limit.get('status_code', '429')}};
-  limit_conn_status {{site.limit.get('status_code', '429')}};
+  limit_req_status {{ site.limit.get('status_code', '429') }};
+  limit_conn_status {{ site.limit.get('status_code', '429') }};
   {%- endif %}
 
 
@@ -104,9 +104,9 @@
       {%- endif %}
 
       {%- if site.get('limit', {}).get('enabled', False) %}
-      limit_req zone={{site_name}}{% if site.limit.get('burst', False) %} burst={{site.limit.burst}}{% endif %}{% if site.limit.get('nodelay', False) %} nodelay{% endif %};
+      limit_req zone={{ site_name }}{% if site.limit.get('burst', False) %} burst={{ site.limit.burst }}{% endif %}{% if site.limit.get('nodelay', False) %} nodelay{% endif %};
       {%-   for subfilter_name, subfilter in site.limit.get('subfilters', {}).items() %}
-      limit_req zone={{site_name}}_{{subfilter_name}}{% if subfilter.get('burst', False) %} burst={{subfilter.burst}}{% endif %}{% if subfilter.get('nodelay', False) %} nodelay{% endif %};
+      limit_req zone={{ site_name }}_{{ subfilter_name }}{% if subfilter.get('burst', False) %} burst={{ subfilter.burst }}{% endif %}{% if subfilter.get('nodelay', False) %} nodelay{% endif %};
       {%-   endfor %}
       {%- endif %}
   }
