Merge pull request #212 from mkuron/reverseproxy

Fix CalDAV/CardDAV URLs displayed in SOGo web interface when used behind reverse proxy
This commit is contained in:
André Peters
2017-04-24 10:09:32 +02:00
committed by GitHub
2 changed files with 62 additions and 12 deletions

View File

@@ -1,4 +1,31 @@
proxy_cache_path /tmp levels=1:2 keys_zone=sogo:10m inactive=24h max_size=1g;
# use the non-standard X-Forwarded-* headers for WebObjects
map $http_x_forwarded_proto $maybe_real_scheme {
default $http_x_forwarded_proto;
'' $scheme;
}
map $http_x_forwarded_port $maybe_real_port {
default $http_x_forwarded_port;
'' $server_port;
}
map $http_x_forwarded_host $maybe_real_host {
default $http_x_forwarded_host;
'' $host:$real_port;
}
map $realip_remote_addr $real_scheme {
default $scheme;
172.22.1.1 $maybe_real_scheme;
}
map $realip_remote_addr $real_port {
default $server_port;
172.22.1.1 $maybe_real_port;
}
map $realip_remote_addr $real_host {
default $scheme;
172.22.1.1 $maybe_real_host;
}
server {
include /etc/nginx/conf.d/listen_ssl.active;
include /etc/nginx/mime.types;
@@ -34,7 +61,7 @@ server {
real_ip_recursive on;
location = /principals/ {
rewrite ^ $scheme://$host:$server_port/SOGo/dav;
rewrite ^ $real_scheme://$real_host/SOGo/dav;
allow all;
}
@@ -100,8 +127,8 @@ server {
proxy_set_header x-webobjects-server-protocol HTTP/1.0;
proxy_set_header x-webobjects-remote-host $remote_addr;
proxy_set_header x-webobjects-server-name $server_name;
proxy_set_header x-webobjects-server-url $scheme://$host:$server_port;
proxy_set_header x-webobjects-server-port $server_port;
proxy_set_header x-webobjects-server-url $real_scheme://$real_host;
proxy_set_header x-webobjects-server-port $real_port;
client_body_buffer_size 128k;
client_max_body_size 100m;
}
@@ -114,8 +141,8 @@ server {
proxy_set_header x-webobjects-server-protocol HTTP/1.0;
proxy_set_header x-webobjects-remote-host $remote_addr;
proxy_set_header x-webobjects-server-name $server_name;
proxy_set_header x-webobjects-server-url $scheme://$host:$server_port;
proxy_set_header x-webobjects-server-port $server_port;
proxy_set_header x-webobjects-server-url $real_scheme://$real_host;
proxy_set_header x-webobjects-server-port $real_port;
client_body_buffer_size 128k;
client_max_body_size 100m;
break;
@@ -187,7 +214,7 @@ server {
real_ip_recursive on;
location = /principals/ {
rewrite ^ $scheme://$host:$server_port/SOGo/dav;
rewrite ^ $real_scheme://$real_host/SOGo/dav;
allow all;
}
@@ -253,8 +280,8 @@ server {
proxy_set_header x-webobjects-server-protocol HTTP/1.0;
proxy_set_header x-webobjects-remote-host $remote_addr;
proxy_set_header x-webobjects-server-name $server_name;
proxy_set_header x-webobjects-server-url $scheme://$host:$server_port;
proxy_set_header x-webobjects-server-port $server_port;
proxy_set_header x-webobjects-server-url $real_scheme://$real_host;
proxy_set_header x-webobjects-server-port $real_port;
client_body_buffer_size 128k;
client_max_body_size 100m;
}
@@ -267,8 +294,8 @@ server {
proxy_set_header x-webobjects-server-protocol HTTP/1.0;
proxy_set_header x-webobjects-remote-host $remote_addr;
proxy_set_header x-webobjects-server-name $server_name;
proxy_set_header x-webobjects-server-url $scheme://$host:$server_port;
proxy_set_header x-webobjects-server-port $server_port;
proxy_set_header x-webobjects-server-url $real_scheme://$real_host;
proxy_set_header x-webobjects-server-port $real_port;
client_body_buffer_size 128k;
client_max_body_size 100m;
break;