summaryrefslogtreecommitdiff
path: root/playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf')
-rw-r--r--playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf56
1 files changed, 56 insertions, 0 deletions
diff --git a/playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf b/playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf
new file mode 100644
index 0000000..193e65a
--- /dev/null
+++ b/playbooks/roles/outbound/templates/proxy/nginx/toplevel.conf.d/stream.conf
@@ -0,0 +1,56 @@
+stream {
+ log_format basic '$proxy_protocol_addr - [$time_local] '
+ '$protocol $status $bytes_sent $bytes_received '
+ '$session_time';
+ upstream imaps {
+ server {{ loadbalancer_ip }}:993;
+ }
+ upstream smtps {
+ server {{ loadbalancer_ip }}:465;
+ }
+ upstream smtptls {
+ server {{ loadbalancer_ip }}:587;
+ }
+ upstream smtp {
+ server {{ loadbalancer_ip }}:25;
+ }
+ upstream managesieve {
+ server {{ loadbalancer_ip }}:4190;
+ }
+
+ server {
+ set_real_ip_from {{ docker_network }};
+ listen 993 proxy_protocol;
+
+ proxy_pass imaps;
+ proxy_protocol on;
+ }
+ server {
+ set_real_ip_from {{ docker_network }};
+ listen 25 proxy_protocol;
+
+ proxy_pass smtp;
+ proxy_protocol on;
+ }
+ server {
+ set_real_ip_from {{ docker_network }};
+ listen 587 proxy_protocol;
+
+ proxy_pass smtptls;
+ proxy_protocol on;
+ }
+ server {
+ set_real_ip_from {{ docker_network }};
+ listen 465 proxy_protocol;
+
+ proxy_pass smtps;
+ proxy_protocol on;
+ }
+ server {
+ set_real_ip_from {{ docker_network }};
+ listen 4190 proxy_protocol;
+
+ proxy_pass managesieve;
+ proxy_protocol on;
+ }
+}