Commit 709f5a97843c2c2c94cab0f73e0a1c065312e1b4

Authored by Antonio Terceiro
1 parent 1451add6
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

atualizando documentação, incluindo gestão de aliases

docs/apoio.rst.in
@@ -86,3 +86,30 @@ Alterando a senha de administrador do Mailman:: @@ -86,3 +86,30 @@ Alterando a senha de administrador do Mailman::
86 $ cd /usr/lib/mailman/bin 86 $ cd /usr/lib/mailman/bin
87 $ sudo ./mmsitepass nova_senha 87 $ sudo ./mmsitepass nova_senha
88 88
  89 +Gerenciando aliases de email
  90 +----------------------------
  91 +
  92 +Como a máquina ``integration`` é o destino final de emails recebidos pela
  93 +plataforma, é nela onde deve ser feita a gestão de aliases
  94 +``@@@external_hostname@@``.
  95 +
  96 +Para fazer a configuração inicial, basta instruir o postfix a ler os aliases de
  97 +um arquivo, digamos, ``/etc/postfix/aliases``::
  98 +
  99 + $ sudo postconf virtual_alias_maps=hash:/etc/postix/aliases
  100 +
  101 +Em seguida é necessário fazer com que o serviço ``postfix`` recarregue as suas
  102 +configurações::
  103 +
  104 + $ sudo systemctl reload postfix
  105 +
  106 +Os aliases devem então ser mantidos neste arquivo. Um alias por linha, no
  107 +formato ``<ALIAS> <DESTINO>``. Exemplo::
  108 +
  109 + admin@@@external_hostname@@ softwarepublico@planejamento.gov.br
  110 + exemplo@@@external_hostname@@ exemplo@planejamento.gov.br
  111 +
  112 +Após cada alteração no ``/etc/postfix/aliases`` (incluindo a sua criação), é
  113 +necessário compilá-lo num banco de dados otimizado com o seguinte comando::
  114 +
  115 + $ sudo postmap /etc/postfix/aliases
docs/arquitetura.rst.in
@@ -24,6 +24,8 @@ O ambiente é composto por 5 máquinas com funções distintas: @@ -24,6 +24,8 @@ O ambiente é composto por 5 máquinas com funções distintas:
24 24
25 * Listas de email 25 * Listas de email
26 26
  27 + * Backend final de email
  28 +
27 * email 29 * email
28 30
29 * relay de email 31 * relay de email
@@ -42,15 +44,15 @@ O ambiente é composto por 5 máquinas com funções distintas: @@ -42,15 +44,15 @@ O ambiente é composto por 5 máquinas com funções distintas:
42 44
43 Apenas as máquinas reverseproxy e email possuem IP's externos. A primeira para 45 Apenas as máquinas reverseproxy e email possuem IP's externos. A primeira para
44 receber requisições HTTP/HTTPS (portas 80 e 443) e possibilitar que usuários 46 receber requisições HTTP/HTTPS (portas 80 e 443) e possibilitar que usuários
45 -utilizem os repositórios git (porta 22) e a última para receber emails (porta  
46 -25). Além disso, todas as máquinas aceitam conexões ssh originadas apenas da  
47 -máquina integration, ou seja, não é possível, de acordo com as regras de  
48 -firewall, realizar conexões ssh nas demais máquinas se a conexão não for  
49 -originada da integration. Conexões na porta 22 da máquina reverseproxy são  
50 -redirecionadas para integration. As máquinas email, social e database aceitam  
51 -conexão SSH vindas da integration na porta 22 e a reverseproxy em uma porta  
52 -alternativa, especificada no arquivo de configuração do ambiente,  
53 -config/$SPB_ENV/config.yaml pelo valor passado a 'alt_ssh_port'. 47 +utilizem os repositórios git (porta 22) e a segunda para receber emails (porta
  48 +25) e enviar emails para fora de plataforma. Além disso, todas as máquinas
  49 +aceitam conexões ssh originadas apenas da máquina integration, ou seja, não é
  50 +possível, de acordo com as regras de firewall, realizar conexões ssh nas demais
  51 +máquinas se a conexão não for originada da integration. Conexões na porta 22 da
  52 +máquina reverseproxy são redirecionadas para integration. As máquinas email,
  53 +social e database aceitam conexão SSH vindas da integration na porta 22 e a
  54 +reverseproxy em uma porta alternativa, especificada no arquivo de configuração
  55 +do ambiente, config/$SPB_ENV/config.yaml pelo valor passado a 'alt_ssh_port'.
54 56
55 Por exemplo, para se conectar na máquina email é necessário estabelecer conexão 57 Por exemplo, para se conectar na máquina email é necessário estabelecer conexão
56 SSH na porta 22 da reverseproxy, esta conexão será redirecionada para a máquina 58 SSH na porta 22 da reverseproxy, esta conexão será redirecionada para a máquina
docs/arquitetura.svg
@@ -78,17 +78,19 @@ @@ -78,17 +78,19 @@
78 borderopacity="1.0" 78 borderopacity="1.0"
79 inkscape:pageopacity="0.0" 79 inkscape:pageopacity="0.0"
80 inkscape:pageshadow="2" 80 inkscape:pageshadow="2"
81 - inkscape:zoom="0.65045503" 81 + inkscape:zoom="0.65717461"
82 inkscape:cx="526.18109" 82 inkscape:cx="526.18109"
83 inkscape:cy="372.04724" 83 inkscape:cy="372.04724"
84 inkscape:document-units="px" 84 inkscape:document-units="px"
85 - inkscape:current-layer="layer6" 85 + inkscape:current-layer="layer5"
86 showgrid="false" 86 showgrid="false"
87 inkscape:window-width="1366" 87 inkscape:window-width="1366"
88 - inkscape:window-height="702" 88 + inkscape:window-height="704"
89 inkscape:window-x="0" 89 inkscape:window-x="0"
90 inkscape:window-y="27" 90 inkscape:window-y="27"
91 - inkscape:window-maximized="1" /> 91 + inkscape:window-maximized="1"
  92 + showguides="true"
  93 + inkscape:guide-bbox="true" />
92 <metadata 94 <metadata
93 id="metadata7"> 95 id="metadata7">
94 <rdf:RDF> 96 <rdf:RDF>
@@ -97,7 +99,7 @@ @@ -97,7 +99,7 @@
97 <dc:format>image/svg+xml</dc:format> 99 <dc:format>image/svg+xml</dc:format>
98 <dc:type 100 <dc:type
99 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 101 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
100 - <dc:title /> 102 + <dc:title></dc:title>
101 </cc:Work> 103 </cc:Work>
102 </rdf:RDF> 104 </rdf:RDF>
103 </metadata> 105 </metadata>
@@ -114,34 +116,34 @@ @@ -114,34 +116,34 @@
114 style="display:inline"> 116 style="display:inline">
115 <text 117 <text
116 xml:space="preserve" 118 xml:space="preserve"
117 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"  
118 - x="642.34241"  
119 - y="491.6839" 119 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  120 + x="636.58868"
  121 + y="545.6839"
120 id="text5794" 122 id="text5794"
121 sodipodi:linespacing="125%"><tspan 123 sodipodi:linespacing="125%"><tspan
122 - style="font-size:16.46647072px" 124 + style="font-size:16.46647072px;text-align:start;text-anchor:start"
123 id="tspan5796" 125 id="tspan5796"
124 sodipodi:role="line" 126 sodipodi:role="line"
125 - x="642.34241"  
126 - y="491.6839">HTTP</tspan><tspan  
127 - style="font-size:16.46647072px" 127 + x="636.58868"
  128 + y="545.6839">HTTP</tspan><tspan
  129 + style="font-size:16.46647072px;text-align:start;text-anchor:start"
128 id="tspan5798" 130 id="tspan5798"
129 sodipodi:role="line" 131 sodipodi:role="line"
130 - x="642.34241"  
131 - y="512.26697">reverse proxy</tspan></text> 132 + x="636.58868"
  133 + y="566.26697">reverse proxy</tspan></text>
132 <g 134 <g
133 id="g4382" 135 id="g4382"
134 - transform="matrix(0.68610294,0,0,0.68610294,325.50286,328.94289)"> 136 + transform="matrix(0.68610294,0,0,0.68610294,74.428035,348.72454)">
135 <g 137 <g
136 transform="translate(-104.51642,-10.919621)" 138 transform="translate(-104.51642,-10.919621)"
137 id="g4315"> 139 id="g4315">
138 <rect 140 <rect
139 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" 141 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
140 id="rect4317" 142 id="rect4317"
141 - width="703.53589"  
142 - height="193.43335" 143 + width="583.77264"
  144 + height="217.82957"
143 x="45.238449" 145 x="45.238449"
144 - y="819.93018" 146 + y="795.53394"
145 rx="24.959101" 147 rx="24.959101"
146 ry="24.959101" /> 148 ry="24.959101" />
147 <text 149 <text
@@ -160,7 +162,7 @@ @@ -160,7 +162,7 @@
160 <g 162 <g
161 style="display:inline" 163 style="display:inline"
162 id="g4246" 164 id="g4246"
163 - transform="matrix(1.0487632,0,0,1.0487632,-73.081866,298.25531)"> 165 + transform="matrix(1.0487632,0,0,1.0487632,-116.8071,289.51028)">
164 <rect 166 <rect
165 transform="translate(0,308.2677)" 167 transform="translate(0,308.2677)"
166 ry="24.959145" 168 ry="24.959145"
@@ -184,7 +186,7 @@ @@ -184,7 +186,7 @@
184 sodipodi:role="line">PostgreSQL</tspan></text> 186 sodipodi:role="line">PostgreSQL</tspan></text>
185 </g> 187 </g>
186 <g 188 <g
187 - transform="matrix(1.0487632,0,0,1.0487632,218.62813,298.25532)" 189 + transform="matrix(1.0487632,0,0,1.0487632,154.49779,289.51029)"
188 id="g4263" 190 id="g4263"
189 style="display:inline"> 191 style="display:inline">
190 <rect 192 <rect
@@ -212,34 +214,34 @@ @@ -212,34 +214,34 @@
212 </g> 214 </g>
213 <g 215 <g
214 id="g4396" 216 id="g4396"
215 - transform="matrix(0.68610294,0,0,0.68610294,548.29673,158.97368)"> 217 + transform="matrix(0.68610294,0,0,0.68610294,548.29673,198.97368)">
216 <g 218 <g
217 id="g4307" 219 id="g4307"
218 - transform="translate(-73.317486,-262.07101)"> 220 + transform="translate(-75.535325,-259.85317)">
219 <rect 221 <rect
220 ry="24.959101" 222 ry="24.959101"
221 rx="24.959101" 223 rx="24.959101"
222 y="819.93018" 224 y="819.93018"
223 x="45.238449" 225 x="45.238449"
224 - height="385.60645"  
225 - width="641.40228" 226 + height="509.80542"
  227 + width="719.02667"
226 id="rect4309" 228 id="rect4309"
227 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> 229 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
228 <text 230 <text
229 sodipodi:linespacing="125%" 231 sodipodi:linespacing="125%"
230 id="text4311" 232 id="text4311"
231 - y="1185.0211" 233 + y="1301.6217"
232 x="62.26289" 234 x="62.26289"
233 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.92820835px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 235 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.92820835px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
234 xml:space="preserve"><tspan 236 xml:space="preserve"><tspan
235 style="font-size:22.5px;fill:#555753" 237 style="font-size:22.5px;fill:#555753"
236 - y="1185.0211" 238 + y="1301.6217"
237 x="62.26289" 239 x="62.26289"
238 id="tspan4313" 240 id="tspan4313"
239 sodipodi:role="line">integration</tspan></text> 241 sodipodi:role="line">integration</tspan></text>
240 </g> 242 </g>
241 <g 243 <g
242 - transform="matrix(1.0487632,0,0,1.0487632,-79.431935,244.40644)" 244 + transform="matrix(1.0487632,0,0,1.0487632,-79.431935,352.26197)"
243 id="g3018" 245 id="g3018"
244 style="display:inline"> 246 style="display:inline">
245 <rect 247 <rect
@@ -265,7 +267,7 @@ @@ -265,7 +267,7 @@
265 y="575.49884">Gitlab</tspan></text> 267 y="575.49884">Gitlab</tspan></text>
266 </g> 268 </g>
267 <g 269 <g
268 - transform="matrix(1.0487632,0,0,1.0487632,-80.194985,44.124888)" 270 + transform="matrix(1.0487632,0,0,1.0487632,-80.194985,55.784944)"
269 id="g3034" 271 id="g3034"
270 style="display:inline"> 272 style="display:inline">
271 <rect 273 <rect
@@ -291,7 +293,7 @@ @@ -291,7 +293,7 @@
291 y="575.53479">COLAB</tspan></text> 293 y="575.53479">COLAB</tspan></text>
292 </g> 294 </g>
293 <g 295 <g
294 - transform="matrix(1.0487632,0,0,1.0487632,226.64988,243.33747)" 296 + transform="matrix(1.0487632,0,0,1.0487632,294.5495,195.07943)"
295 id="g4271" 297 id="g4271"
296 style="display:inline"> 298 style="display:inline">
297 <rect 299 <rect
@@ -319,7 +321,7 @@ @@ -319,7 +321,7 @@
319 <g 321 <g
320 style="display:inline" 322 style="display:inline"
321 id="g4288" 323 id="g4288"
322 - transform="matrix(1.0487632,0,0,1.0487632,226.64988,125.74526)"> 324 + transform="matrix(1.0487632,0,0,1.0487632,294.5495,352.26197)">
323 <rect 325 <rect
324 ry="24.959145" 326 ry="24.959145"
325 rx="24.959145" 327 rx="24.959145"
@@ -342,130 +344,138 @@ @@ -342,130 +344,138 @@
342 id="tspan4294" 344 id="tspan4294"
343 sodipodi:role="line">Mailman-API</tspan></text> 345 sodipodi:role="line">Mailman-API</tspan></text>
344 </g> 346 </g>
  347 + <g
  348 + style="display:inline"
  349 + id="g4285"
  350 + transform="matrix(1.0487632,0,0,1.0487632,294.5495,37.896878)">
  351 + <rect
  352 + ry="24.959145"
  353 + rx="24.959145"
  354 + y="205.91293"
  355 + x="99.836578"
  356 + height="106.07636"
  357 + width="215.27261"
  358 + id="rect4287"
  359 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  360 + transform="translate(0,308.2677)" />
  361 + <text
  362 + sodipodi:linespacing="125%"
  363 + id="text4289"
  364 + y="558.85791"
  365 + x="206.59938"
  366 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
  367 + xml:space="preserve"><tspan
  368 + y="558.85791"
  369 + x="206.59938"
  370 + id="tspan4291"
  371 + sodipodi:role="line">Backend SMTP</tspan><tspan
  372 + y="588.85791"
  373 + x="206.59938"
  374 + sodipodi:role="line"
  375 + id="tspan4293">(Postfix)</tspan></text>
  376 + </g>
345 </g> 377 </g>
346 <text 378 <text
347 sodipodi:linespacing="125%" 379 sodipodi:linespacing="125%"
348 - id="text4541"  
349 - y="619.28687"  
350 - x="457.85617"  
351 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"  
352 - xml:space="preserve"><tspan  
353 - y="619.28687"  
354 - x="457.85617"  
355 - sodipodi:role="line"  
356 - id="tspan4543"  
357 - style="font-size:16.46647072px">HTTP</tspan><tspan  
358 - y="639.86993"  
359 - x="457.85617"  
360 - sodipodi:role="line"  
361 - id="tspan4545"  
362 - style="font-size:16.46647072px">reverse proxy</tspan></text>  
363 - <text  
364 - xml:space="preserve"  
365 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"  
366 - x="649.13086"  
367 - y="657.7215"  
368 - id="text4547"  
369 - sodipodi:linespacing="125%"><tspan  
370 - style="font-size:16.46647072px;text-align:start;text-anchor:start"  
371 - id="tspan4549"  
372 - sodipodi:role="line"  
373 - x="649.13086"  
374 - y="657.7215">HTTP</tspan><tspan  
375 - style="font-size:16.46647072px;text-align:start;text-anchor:start"  
376 - id="tspan4551"  
377 - sodipodi:role="line"  
378 - x="649.13086"  
379 - y="678.30457">reverse proxy</tspan></text>  
380 - <text  
381 - sodipodi:linespacing="125%"  
382 id="text4553" 380 id="text4553"
383 - y="566.24707"  
384 - x="769.04694" 381 + y="737.41364"
  382 + x="696.45135"
385 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 383 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
386 xml:space="preserve"><tspan 384 xml:space="preserve"><tspan
387 - y="566.24707"  
388 - x="769.04694" 385 + y="737.41364"
  386 + x="696.45135"
389 sodipodi:role="line" 387 sodipodi:role="line"
390 id="tspan4557" 388 id="tspan4557"
391 style="font-size:16.46647072px;text-align:start;text-anchor:start">HTTP</tspan></text> 389 style="font-size:16.46647072px;text-align:start;text-anchor:start">HTTP</tspan></text>
392 <text 390 <text
393 xml:space="preserve" 391 xml:space="preserve"
394 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 392 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
395 - x="345.62704"  
396 - y="851.43207" 393 + x="146.28885"
  394 + y="795.13043"
397 id="text4561" 395 id="text4561"
398 sodipodi:linespacing="125%"><tspan 396 sodipodi:linespacing="125%"><tspan
399 style="font-size:16.46647072px" 397 style="font-size:16.46647072px"
400 id="tspan4565" 398 id="tspan4565"
401 sodipodi:role="line" 399 sodipodi:role="line"
402 - x="345.62704"  
403 - y="851.43207">SQL</tspan></text> 400 + x="146.28885"
  401 + y="795.13043">SQL</tspan></text>
404 <text 402 <text
405 sodipodi:linespacing="125%" 403 sodipodi:linespacing="125%"
406 id="text4569" 404 id="text4569"
407 - y="753.59344"  
408 - x="485.86237" 405 + y="799.24341"
  406 + x="259.13419"
409 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 407 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
410 xml:space="preserve"><tspan 408 xml:space="preserve"><tspan
411 - y="753.59344"  
412 - x="485.86237" 409 + y="799.24341"
  410 + x="259.13419"
413 sodipodi:role="line" 411 sodipodi:role="line"
414 id="tspan4571" 412 id="tspan4571"
415 style="font-size:16.46647072px">SQL</tspan></text> 413 style="font-size:16.46647072px">SQL</tspan></text>
416 <text 414 <text
417 xml:space="preserve" 415 xml:space="preserve"
418 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 416 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
419 - x="513.03973"  
420 - y="822.08044" 417 + x="372.56818"
  418 + y="845.12378"
421 id="text4573" 419 id="text4573"
422 sodipodi:linespacing="125%"><tspan 420 sodipodi:linespacing="125%"><tspan
423 style="font-size:16.46647072px" 421 style="font-size:16.46647072px"
424 id="tspan4575" 422 id="tspan4575"
425 sodipodi:role="line" 423 sodipodi:role="line"
426 - x="513.03973"  
427 - y="822.08044">SQL</tspan></text> 424 + x="372.56818"
  425 + y="845.12378">SQL</tspan></text>
428 <text 426 <text
429 sodipodi:linespacing="125%" 427 sodipodi:linespacing="125%"
430 id="text4577" 428 id="text4577"
431 - y="850.34491"  
432 - x="643.99384" 429 + y="972.34491"
  430 + x="475.99384"
433 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none" 431 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none"
434 xml:space="preserve"><tspan 432 xml:space="preserve"><tspan
435 - y="850.34491"  
436 - x="643.99384" 433 + y="972.34491"
  434 + x="475.99384"
437 sodipodi:role="line" 435 sodipodi:role="line"
438 id="tspan4579" 436 id="tspan4579"
439 style="font-size:16.46647072px;text-align:start;text-anchor:start">Protocolo</tspan><tspan 437 style="font-size:16.46647072px;text-align:start;text-anchor:start">Protocolo</tspan><tspan
440 - y="870.92798"  
441 - x="643.99384" 438 + y="992.92798"
  439 + x="475.99384"
442 sodipodi:role="line" 440 sodipodi:role="line"
443 style="font-size:16.46647072px;text-align:start;text-anchor:start" 441 style="font-size:16.46647072px;text-align:start;text-anchor:start"
444 id="tspan4581">nativo</tspan></text> 442 id="tspan4581">nativo</tspan></text>
445 <text 443 <text
446 sodipodi:linespacing="125%" 444 sodipodi:linespacing="125%"
447 id="text4589" 445 id="text4589"
448 - y="556.0722"  
449 - x="177.66902" 446 + y="510.0722"
  447 + x="169.66902"
450 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 448 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
451 xml:space="preserve"><tspan 449 xml:space="preserve"><tspan
452 - y="556.0722"  
453 - x="177.66902" 450 + y="510.0722"
  451 + x="169.66902"
454 sodipodi:role="line" 452 sodipodi:role="line"
455 id="tspan4591" 453 id="tspan4591"
456 style="font-size:16.46647072px">SMTP</tspan></text> 454 style="font-size:16.46647072px">SMTP</tspan></text>
457 <text 455 <text
458 sodipodi:linespacing="125%" 456 sodipodi:linespacing="125%"
459 id="text4597" 457 id="text4597"
460 - y="505.26852"  
461 - x="432.2182" 458 + y="535.26855"
  459 + x="412.2182"
462 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none" 460 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
463 xml:space="preserve"><tspan 461 xml:space="preserve"><tspan
464 - y="505.26852"  
465 - x="432.2182" 462 + y="535.26855"
  463 + x="412.2182"
466 sodipodi:role="line" 464 sodipodi:role="line"
467 id="tspan4599" 465 id="tspan4599"
468 style="font-size:16.46647072px">SMTP</tspan></text> 466 style="font-size:16.46647072px">SMTP</tspan></text>
  467 + <text
  468 + xml:space="preserve"
  469 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  470 + x="752.76587"
  471 + y="512.67297"
  472 + id="text4309"
  473 + sodipodi:linespacing="125%"><tspan
  474 + style="font-size:16.46647072px"
  475 + id="tspan4311"
  476 + sodipodi:role="line"
  477 + x="752.76587"
  478 + y="512.67297">SMTP</tspan></text>
469 </g> 479 </g>
470 <g 480 <g
471 inkscape:groupmode="layer" 481 inkscape:groupmode="layer"
@@ -474,7 +484,7 @@ @@ -474,7 +484,7 @@
474 style="display:inline"> 484 style="display:inline">
475 <g 485 <g
476 id="g4372" 486 id="g4372"
477 - transform="matrix(0.68610294,0,0,0.68610294,-257.62288,142.05473)"> 487 + transform="matrix(0.68610294,0,0,0.68610294,-317.62288,50.204216)">
478 <g 488 <g
479 id="g4323" 489 id="g4323"
480 transform="translate(471.10384,-45.23844)" 490 transform="translate(471.10384,-45.23844)"
@@ -530,7 +540,7 @@ @@ -530,7 +540,7 @@
530 </g> 540 </g>
531 <g 541 <g
532 id="g4343" 542 id="g4343"
533 - transform="matrix(0.68610294,0,0,0.68610294,-313.27764,36.270151)"> 543 + transform="matrix(0.68610294,0,0,0.68610294,-373.27764,36.270151)">
534 <g 544 <g
535 transform="translate(552.22106,-389.98662)" 545 transform="translate(552.22106,-389.98662)"
536 id="g4331" 546 id="g4331"
@@ -577,32 +587,36 @@ @@ -577,32 +587,36 @@
577 <text 587 <text
578 sodipodi:linespacing="125%" 588 sodipodi:linespacing="125%"
579 id="text4236" 589 id="text4236"
580 - y="575.46283"  
581 - x="170.96269"  
582 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" 590 + y="558.78595"
  591 + x="206.96414"
  592 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
583 xml:space="preserve"><tspan 593 xml:space="preserve"><tspan
584 - y="575.46283"  
585 - x="170.96269" 594 + y="558.78595"
  595 + x="206.96414"
586 id="tspan4238" 596 id="tspan4238"
587 - sodipodi:role="line">Postfix</tspan></text> 597 + sodipodi:role="line">Frontend SMTP</tspan><tspan
  598 + y="588.78595"
  599 + x="206.96414"
  600 + sodipodi:role="line"
  601 + id="tspan4281">(Postfix)</tspan></text>
588 </g> 602 </g>
589 </g> 603 </g>
590 </g> 604 </g>
591 <g 605 <g
592 - transform="matrix(0.68610294,0,0,0.68610294,-326.80522,364.9756)" 606 + transform="matrix(0.68610294,0,0,0.68610294,508.5892,355.84561)"
593 id="g4449"> 607 id="g4449">
594 <rect 608 <rect
595 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#d3d7cf;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#babdb6;stroke-width:2.91501451;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" 609 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#d3d7cf;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#babdb6;stroke-width:2.91501451;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
596 id="rect4531" 610 id="rect4531"
597 - width="257.68625"  
598 - height="245.36218"  
599 - x="494.24698"  
600 - y="743.06433" 611 + width="583.70856"
  612 + height="114.50973"
  613 + x="168.2247"
  614 + y="873.91681"
601 rx="9.5793791" 615 rx="9.5793791"
602 ry="9.5793791" /> 616 ry="9.5793791" />
603 <g 617 <g
604 style="display:inline" 618 style="display:inline"
605 - transform="translate(471.03,-45.23844)" 619 + transform="translate(471.03,-41.911682)"
606 id="g4451"> 620 id="g4451">
607 <rect 621 <rect
608 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" 622 style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
@@ -628,7 +642,7 @@ @@ -628,7 +642,7 @@
628 </g> 642 </g>
629 <g 643 <g
630 style="display:inline" 644 style="display:inline"
631 - transform="matrix(1.0487632,0,0,1.0487632,410.82571,289.93364)" 645 + transform="matrix(1.0487632,0,0,1.0487632,246.70565,373.10259)"
632 id="g4459"> 646 id="g4459">
633 <rect 647 <rect
634 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate" 648 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
@@ -654,7 +668,7 @@ @@ -654,7 +668,7 @@
654 </g> 668 </g>
655 <g 669 <g
656 id="g4526" 670 id="g4526"
657 - transform="translate(0,3.0637686e-6)"> 671 + transform="translate(-328.24012,154.13979)">
658 <path 672 <path
659 sodipodi:nodetypes="cc" 673 sodipodi:nodetypes="cc"
660 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart-4);enable-background:accumulate" 674 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart-4);enable-background:accumulate"
@@ -675,16 +689,16 @@ @@ -675,16 +689,16 @@
675 </g> 689 </g>
676 <text 690 <text
677 xml:space="preserve" 691 xml:space="preserve"
678 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.40509987px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"  
679 - x="665.66437"  
680 - y="769.95325" 692 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.40509987px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  693 + x="185.50232"
  694 + y="903.02356"
681 id="text4533" 695 id="text4533"
682 sodipodi:linespacing="125%"><tspan 696 sodipodi:linespacing="125%"><tspan
683 sodipodi:role="line" 697 sodipodi:role="line"
684 id="tspan4535" 698 id="tspan4535"
685 - x="665.66437"  
686 - y="769.95325"  
687 - style="-inkscape-font-specification:'Cantarell Bold';font-family:Cantarell;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal;fill:#555753;">Legenda</tspan></text> 699 + x="185.50232"
  700 + y="903.02356"
  701 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:25.50637627px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';fill:#555753">Legenda</tspan></text>
688 </g> 702 </g>
689 </g> 703 </g>
690 <g 704 <g
@@ -694,7 +708,7 @@ @@ -694,7 +708,7 @@
694 style="display:inline"> 708 style="display:inline">
695 <g 709 <g
696 id="g4358" 710 id="g4358"
697 - transform="matrix(0.68610294,0,0,0.68610294,499.06367,112.26031)"> 711 + transform="matrix(0.68610294,0,0,0.68610294,439.06367,112.26031)">
698 <g 712 <g
699 transform="translate(-1.5599465,-500.74283)" 713 transform="translate(-1.5599465,-500.74283)"
700 id="g4302" 714 id="g4302"
@@ -738,76 +752,145 @@ @@ -738,76 +752,145 @@
738 <text 752 <text
739 sodipodi:linespacing="125%" 753 sodipodi:linespacing="125%"
740 id="text3991" 754 id="text3991"
741 - y="575.11481"  
742 - x="126.62383"  
743 - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none" 755 + y="558.43793"
  756 + x="210.99185"
  757 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
744 xml:space="preserve"><tspan 758 xml:space="preserve"><tspan
745 - y="575.11481"  
746 - x="126.62383" 759 + y="558.43793"
  760 + x="210.99185"
747 id="tspan3993" 761 id="tspan3993"
748 - sodipodi:role="line">Frontend HTTP</tspan></text> 762 + sodipodi:role="line">Frontend HTTP</tspan><tspan
  763 + y="588.43793"
  764 + x="210.99185"
  765 + sodipodi:role="line"
  766 + id="tspan4283">(nginx)</tspan></text>
749 </g> 767 </g>
750 </g> 768 </g>
751 <path 769 <path
752 inkscape:connector-curvature="0" 770 inkscape:connector-curvature="0"
753 id="path5590" 771 id="path5590"
754 - d="m 634.01413,553.48165 c -0.36236,-61.8148 62.32682,-56.21368 62.508,-114.76719" 772 + d="M 634.01413,602.97673 633.5773,438.71446"
755 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 773 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
756 sodipodi:nodetypes="cc" /> 774 sodipodi:nodetypes="cc" />
  775 + <g
  776 + id="g4316">
  777 + <text
  778 + sodipodi:linespacing="125%"
  779 + id="text4547"
  780 + y="739.3808"
  781 + x="638.52301"
  782 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  783 + xml:space="preserve"><tspan
  784 + y="739.3808"
  785 + x="638.52301"
  786 + sodipodi:role="line"
  787 + id="tspan4549"
  788 + style="font-size:16.46647072px;text-align:end;text-anchor:end">HTTP</tspan><tspan
  789 + y="759.96387"
  790 + x="638.52301"
  791 + sodipodi:role="line"
  792 + id="tspan4551"
  793 + style="font-size:16.46647072px;text-align:end;text-anchor:end">reverse proxy</tspan></text>
  794 + <path
  795 + inkscape:connector-curvature="0"
  796 + id="path4433"
  797 + d="m 642.85409,806.32255 0.62824,-122.21061"
  798 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
  799 + sodipodi:nodetypes="cc" />
  800 + </g>
757 <path 801 <path
758 sodipodi:nodetypes="cc" 802 sodipodi:nodetypes="cc"
759 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 803 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
760 - d="m 642.85409,689.15591 0.62824,-49.04397"  
761 - id="path4433"  
762 - inkscape:connector-curvature="0" />  
763 - <path  
764 - sodipodi:nodetypes="cc"  
765 - style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"  
766 - d="M 859.12722,609.13106 C 829.91865,575.18646 753.05114,554.30963 723.07388,599.54037" 804 + d="M 816.71832,840.58803 719.21565,680.62121"
767 id="path4437" 805 id="path4437"
768 inkscape:connector-curvature="0" /> 806 inkscape:connector-curvature="0" />
769 - <path  
770 - inkscape:connector-curvature="0"  
771 - id="path4439"  
772 - d="m 271.00931,696.41651 c -0.36236,-61.8148 48.40654,-100.93072 283.89148,-100.93072"  
773 - style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"  
774 - sodipodi:nodetypes="cc" /> 807 + <g
  808 + id="g4303"
  809 + transform="translate(0,46)">
  810 + <text
  811 + xml:space="preserve"
  812 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  813 + x="495.8562"
  814 + y="575.28687"
  815 + id="text4541"
  816 + sodipodi:linespacing="125%"><tspan
  817 + style="font-size:16.46647072px"
  818 + id="tspan4543"
  819 + sodipodi:role="line"
  820 + x="495.8562"
  821 + y="575.28687">HTTP</tspan><tspan
  822 + style="font-size:16.46647072px"
  823 + id="tspan4545"
  824 + sodipodi:role="line"
  825 + x="495.8562"
  826 + y="595.86993">reverse proxy</tspan></text>
  827 + <path
  828 + sodipodi:nodetypes="cc"
  829 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
  830 + d="m 286.22597,602.07324 277.80481,0.26005"
  831 + id="path4439"
  832 + inkscape:connector-curvature="0" />
  833 + </g>
775 <path 834 <path
776 inkscape:connector-curvature="0" 835 inkscape:connector-curvature="0"
777 id="path4441" 836 id="path4441"
778 - d="m 630.55501,896.50178 c -2.09667,-64.00693 20.40483,-66.51846 19.07686,-115.92023" 837 + d="m 411.43516,957.3684 c 239.5321,0 235.15338,-19.33962 235.15338,-68.74859"
779 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 838 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
780 sodipodi:nodetypes="cc" /> 839 sodipodi:nodetypes="cc" />
781 <path 840 <path
782 sodipodi:nodetypes="cc" 841 sodipodi:nodetypes="cc"
783 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 842 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
784 - d="M 397.48723,898.80785 C 397.78887,788.16087 262.61615,877.38604 264.36295,782.88763" 843 + d="M 140.32574,909.45951 C 140.62738,798.81253 166.75122,786.0861 168.49802,691.58769"
785 id="path4443" 844 id="path4443"
786 inkscape:connector-curvature="0" /> 845 inkscape:connector-curvature="0" />
787 <path 846 <path
788 inkscape:connector-curvature="0" 847 inkscape:connector-curvature="0"
789 id="path4445" 848 id="path4445"
790 - d="m 424.41946,896.50178 c -1.80573,-37.68499 12.38386,-120.28208 48.96766,-120.62805 38.60999,-0.36513 5.96395,-98.15121 42.04501,-99.61416 86.6488,-3.51329 82.65006,9.13901 86.41488,-35.58008" 849 + d="m 159.64964,909.24573 c 0,-138.13764 114.23617,-142.41767 192.2304,-147.21633 75.80951,-4.66425 84.451,-101.79983 209.20206,-99.46482"
791 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 850 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
792 - sodipodi:nodetypes="cssc" /> 851 + sodipodi:nodetypes="csc" />
793 <path 852 <path
794 - sodipodi:nodetypes="cc" 853 + sodipodi:nodetypes="csc"
795 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 854 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
796 - d="M 450.58299,896.50178 C 451.5611,765.36235 628.56982,888.6602 627.24185,779.81286" 855 + d="m 182.76984,908.6751 c 0.48905,-65.56971 87.97282,-56.5857 179.16269,-59.75395 91.18987,-3.16826 29.79633,-1.39802 200.32338,-1.39802"
797 id="path4447" 856 id="path4447"
798 inkscape:connector-curvature="0" /> 857 inkscape:connector-curvature="0" />
799 <path 858 <path
800 sodipodi:nodetypes="cc" 859 sodipodi:nodetypes="cc"
801 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 860 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
802 - d="m 260.24762,444.28533 c 2.71241,99.61065 -131.46755,100.46675 -126.5904,221.92019" 861 + d="m 176.55601,439.72033 -1.81382,139.75026"
803 id="path4583" 862 id="path4583"
804 inkscape:connector-curvature="0" /> 863 inkscape:connector-curvature="0" />
805 <path 864 <path
806 inkscape:connector-curvature="0" 865 inkscape:connector-curvature="0"
807 id="path4585" 866 id="path4585"
808 - d="m 301.98953,444.28533 c -11.02329,92.39356 107.94916,65.41353 177.6501,74.78698 29.8001,4.00755 50.59374,14.66025 48.37091,44.1284" 867 + d="m 211.45042,440.3427 c -0.94665,86.52092 18.19737,103.67492 192.78829,103.67492 168.52022,0 190.21948,-3.35068 190.40409,34.09106"
809 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate" 868 style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
810 sodipodi:nodetypes="csc" /> 869 sodipodi:nodetypes="csc" />
  870 + <path
  871 + sodipodi:nodetypes="csc"
  872 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
  873 + d="m 900.06319,591.51692 c 0,-101.16094 3.63057,-94.86073 -330.55693,-94.86073 -207.3115,0 -329.6883,25.11129 -327.18986,-57.3023"
  874 + id="path4295"
  875 + inkscape:connector-curvature="0" />
  876 + <text
  877 + sodipodi:linespacing="125%"
  878 + id="text4324"
  879 + y="691.12421"
  880 + x="889.75995"
  881 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  882 + xml:space="preserve"><tspan
  883 + y="691.12421"
  884 + x="889.75995"
  885 + sodipodi:role="line"
  886 + style="font-size:16.46647072px;text-align:end;text-anchor:end"
  887 + id="tspan4338">native protocol</tspan></text>
  888 + <path
  889 + inkscape:connector-curvature="0"
  890 + id="path4330"
  891 + d="m 899.45559,700.56678 0.62824,-27.13274"
  892 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#000000;stroke-width:1.02915442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:url(#Arrow2Lstart);enable-background:accumulate"
  893 + sodipodi:nodetypes="cc" />
811 </g> 894 </g>
812 </g> 895 </g>
813 <g 896 <g