# MONGO-EXPRESS upstream mongo_express { ip_hash; {% for host in groups['hosts_vitamui_mongod'] %} server {{hostvars[host]['ip_admin']}}:{{ mongo_express_conf.mongo_express_port }}; {% endfor %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name {{ vitamui.ui_mongo_express.server_name }}; location /mongo-express { proxy_pass http://mongo_express; } } # CONSUL UI {# Adding consul ui proxy ----------------------------------------------- #} {% if consul_ui_proxy is defined and consul_ui_proxy|bool %} # upstream_portal upstream consul_ui { ip_hash; {% if groups['hosts_vitamui_consul_server']|length >0 %} #server {{hostvars [groups['hosts_vitamui_consul_server'][0]]['ip_admin']}}:8500; #server {{hostvars [groups['hosts_vitamui_consul_server'][0]]['ip_admin']}}:8500/ui; {% endif %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name {{ vitamui.ui_consul.server_name }}; location /ui/ { proxy_pass http://consul_ui; } location /v1/ { proxy_pass http://consul_ui; } } {% endif %} # UI IDENTITY ADMIN upstream ui_identity_admin { ip_hash; {% for h in groups['hosts_ui_identity_admin'] %} server {{ hostvars[h].ip_service }}:{{ vitamui.identity_admin.port_service }}; {% endfor %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name {{ vitamui.identity_admin.server_name }}; location / { proxy_pass https://ui_identity_admin; gunzip on; sub_filter_types text/html text/css text/javascript application/javascript application/x-javascript; sub_filter /identity/ https://{{ vitamui.identity_admin.server_name }}/; sub_filter_once off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } } # UI IDENTITY upstream ui_identity { ip_hash; {% for h in groups['hosts_ui_identity'] %} server {{ hostvars[h].ip_service }}:{{ vitamui.identity.port_service }}; {% endfor %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name {{ vitamui.identity.server_name }}; location / { proxy_pass https://ui_identity; gunzip on; sub_filter_types text/html text/css text/javascript application/javascript application/x-javascript; sub_filter /identity/ https://{{ vitamui.identity.server_name }}/; sub_filter_once off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Authorization $http_authorization; proxy_hide_header X-Frame-Options; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # CAS SERVER upstream cas { ip_hash; {% for h in groups['hosts_cas_server'] %} server {{ hostvars[h].ip_service }}:{{ vitamui.cas_server.port_service }}; {% endfor %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name {{ vitamui.cas_server.server_name }}; # Redirect home to login page location = / { return 302 $scheme://$host/login; } location ~ ^/(login|logout|extras|webjars|css|favicon|images|js|serviceValidate|oauth2.0) { proxy_pass https://cas; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Authorization $http_authorization; proxy_hide_header X-Frame-Options; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # PORTAL upstream ui_portal { ip_hash; {% for h in groups['hosts_ui_portal'] %} server {{ hostvars[h].ip_service }}:{{ vitamui.portal.port_service }}; {% endfor %} } server { listen 443 ssl; include {{ reverse_conf_dir }}/ssl/ssl.conf; server_name "{{ vitamui.portal.server_name }}"; location / { proxy_pass https://ui_portal; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Authorization $http_authorization; proxy_hide_header X-Frame-Options; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }