Archived
4 lines
32 KiB
XML
4 lines
32 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Do not edit this file with editors other than draw.io -->
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="841px" height="314px" viewBox="-0.5 -0.5 841 314" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0" version="24.7.5" scale="1" border="0">
 <diagram name="Page-1" id="8W8dwPsys7Ddhd2VQ_wd">
 <mxGraphModel dx="2154" dy="1818" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
 <root>
 <mxCell id="0" />
 <mxCell id="1" parent="0" />
 <mxCell id="2" value="&lt;div&gt;Host&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" vertex="1" parent="1">
 <mxGeometry x="-70" y="-440" width="840" height="220" as="geometry" />
 </mxCell>
 <mxCell id="3" value="Docker network : front" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillStyle=solid;fillColor=#fff2cc;strokeColor=#d6b656;fillOpacity=75;absoluteArcSize=0;" vertex="1" parent="1">
 <mxGeometry x="-60" y="-420" width="510" height="170" as="geometry" />
 </mxCell>
 <mxCell id="4" value="Docker network : back" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillStyle=solid;fillColor=#e1d5e7;strokeColor=#9673a6;fillOpacity=75;absoluteArcSize=0;" vertex="1" parent="1">
 <mxGeometry x="450" y="-420" width="310" height="170" as="geometry" />
 </mxCell>
 <mxCell id="5" value="Database" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
 <mxGeometry x="580" y="-399.63" width="170" height="120" as="geometry" />
 </mxCell>
 <mxCell id="6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--gWwIv4vV--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F787xlgwc2hhq3ctzxcvs.png&amp;f=1&amp;nofb=1&amp;ipt=9a7175f971d0bc410ad6367f1a2ea55b678b6891909309c9b748e750309b8a5a&amp;ipo=images;" vertex="1" parent="1">
 <mxGeometry x="625" y="-379.63" width="80" height="80" as="geometry" />
 </mxCell>
 <mxCell id="7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" source="19" target="5" parent="1">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="560" y="-340" />
 <mxPoint x="560" y="-340" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="8" value="Backend" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
 <mxGeometry x="370" y="-399.63" width="170" height="120" as="geometry" />
 </mxCell>
 <mxCell id="9" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://logos-download.com/wp-content/uploads/2016/09/Node_logo_NodeJS.png;" vertex="1" parent="1">
 <mxGeometry x="400" y="-379.26" width="130" height="79.63" as="geometry" />
 </mxCell>
 <mxCell id="10" value="Frontend" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
 <mxGeometry x="-50" y="-399.63" width="170" height="120" as="geometry" />
 </mxCell>
 <mxCell id="11" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://httpd.apache.org/images/httpd_logo_wide_new.png;clipPath=inset(0% 39.67% 0% 27%);" vertex="1" parent="1">
 <mxGeometry x="-45.48000000000001" y="-359.08" width="145.48" height="39.28" as="geometry" />
 </mxCell>
 <mxCell id="12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="14" target="17" parent="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="14" target="16" parent="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="14" value="Reverse Proxy" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
 <mxGeometry x="162.5" y="-399.63" width="170" height="120" as="geometry" />
 </mxCell>
 <mxCell id="15" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=http://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/220px-Nginx_logo.svg.png;" vertex="1" parent="1">
 <mxGeometry x="172.5" y="-356" width="155" height="33.11" as="geometry" />
 </mxCell>
 <mxCell id="16" value="80" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
 <mxGeometry x="100" y="-354.56" width="30.22" height="30.22" as="geometry" />
 </mxCell>
 <mxCell id="17" value="8080" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
 <mxGeometry x="360.38" y="-354.74" width="29.62" height="29.62" as="geometry" />
 </mxCell>
 <mxCell id="18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" source="8" target="19" parent="1">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="540" y="-340" as="sourcePoint" />
 <mxPoint x="580" y="-340" as="targetPoint" />
 <Array as="points" />
 </mxGeometry>
 </mxCell>
 <mxCell id="19" value="6379" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
 <mxGeometry x="570" y="-354.43" width="29.61" height="29.61" as="geometry" />
 </mxCell>
 <mxCell id="20" value="80" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
 <mxGeometry x="232.39" y="-290" width="30.22" height="30.22" as="geometry" />
 </mxCell>
 <mxCell id="21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" source="22" target="27" parent="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="22" value="Client" style="image;points=[];aspect=fixed;html=1;align=center;shadow=0;dashed=0;image=img/lib/allied_telesis/computer_and_terminals/Personal_Computer.svg;" vertex="1" parent="1">
 <mxGeometry x="138.15" y="-210" width="45.6" height="61.800000000000004" as="geometry" />
 </mxCell>
 <mxCell id="23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" source="24" target="27" parent="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="24" value="Client" style="image;points=[];aspect=fixed;html=1;align=center;shadow=0;dashed=0;image=img/lib/allied_telesis/computer_and_terminals/Personal_Computer.svg;" vertex="1" parent="1">
 <mxGeometry x="311.25" y="-210" width="45.6" height="61.800000000000004" as="geometry" />
 </mxCell>
 <mxCell id="25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" source="27" target="20" parent="1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="26" value="Exposed port : 80" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="25">
 <mxGeometry x="0.09" y="1" relative="1" as="geometry">
 <mxPoint as="offset" />
 </mxGeometry>
 </mxCell>
 <mxCell id="27" value="80" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
 <mxGeometry x="232.39" y="-229.99999999999997" width="30.22" height="30.22" as="geometry" />
 </mxCell>
 </root>
 </mxGraphModel>
 </diagram>
</mxfile>
"><defs><clipPath id="mx-clippath-inset-0-39-67-0-27-1" clipPathUnits="objectBoundingBox"><rect x="0.27" y="0" width="0.33329999999999993" height="1"/></clipPath></defs><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="F3e45qTINoeGbKr2hIJ_-36"><g><rect x="0" y="0" width="840" height="220" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 838px; height: 1px; padding-top: 7px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Host</div></div></div></div></foreignObject><text x="420" y="19" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Host</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-16"><g><rect x="10" y="20" width="510" height="170" fill-opacity="0.75" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 508px; height: 1px; padding-top: 27px; margin-left: 11px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Docker network : front</div></div></div></foreignObject><text x="265" y="39" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Docker network : front</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-1"><g><rect x="520" y="20" width="310" height="170" fill-opacity="0.75" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 308px; height: 1px; padding-top: 27px; margin-left: 521px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Docker network : back</div></div></div></foreignObject><text x="675" y="39" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Docker network : back</text></switch></g></g></g><g data-cell-id="mAVCcH6OQ98nF2Wy80JU-1"><g><rect x="650" y="40.37" width="170" height="120" rx="18" ry="18" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 47px; margin-left: 651px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Database</div></div></div></foreignObject><text x="735" y="59" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Database</text></switch></g></g></g><g data-cell-id="mAVCcH6OQ98nF2Wy80JU-4"><g><image x="694.5" y="59.87" width="80" height="80" xlink:href="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fres.cloudinary.com%2Fpracticaldev%2Fimage%2Ffetch%2Fs--gWwIv4vV--%2Fc_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880%2Fhttps%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F787xlgwc2hhq3ctzxcvs.png&f=1&nofb=1&ipt=9a7175f971d0bc410ad6367f1a2ea55b678b6891909309c9b748e750309b8a5a&ipo=images" preserveAspectRatio="none"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-6"><g><path d="M 640 100.36 L 630 100.36 L 643.63 100.36" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 648.88 100.36 L 641.88 103.86 L 643.63 100.36 L 641.88 96.86 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-2"><g><rect x="440" y="40.37" width="170" height="120" rx="18" ry="18" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 47px; margin-left: 441px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Backend</div></div></div></foreignObject><text x="525" y="59" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Backend</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-3"><g><image x="469.5" y="60.24" width="130" height="79.63" xlink:href="https://logos-download.com/wp-content/uploads/2016/09/Node_logo_NodeJS.png" preserveAspectRatio="none"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-4"><g><rect x="20" y="40.37" width="170" height="120" rx="18" ry="18" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 47px; margin-left: 21px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Frontend</div></div></div></foreignObject><text x="105" y="59" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Frontend</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-8"><g><image x="-93.8305850585059" y="80.42000000000007" width="436.48364836483654" height="39.28" xlink:href="https://httpd.apache.org/images/httpd_logo_wide_new.png" preserveAspectRatio="none" clip-path="url(#mx-clippath-inset-0-39-67-0-27-1)"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-19"><g><path d="M 402.5 100.36 L 422.55 100.36 L 424.02 100.31" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 429.26 100.11 L 422.4 103.87 L 424.02 100.31 L 422.14 96.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-20"><g><path d="M 232.5 100.36 L 212.55 100.36 L 206.59 100.45" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 201.34 100.53 L 208.28 96.93 L 206.59 100.45 L 208.39 103.93 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-10"><g><rect x="232.5" y="40.37" width="170" height="120" rx="18" ry="18" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 47px; margin-left: 234px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Reverse Proxy</div></div></div></foreignObject><text x="318" y="59" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Reverse Proxy</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-15"><g><image x="242" y="83.5" width="155" height="33.11" xlink:href="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Nginx_logo.svg/220px-Nginx_logo.svg.png" preserveAspectRatio="none"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-21"><g><ellipse cx="185.11" cy="100.55" rx="15.110000000000001" ry="15.110000000000001" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 101px; margin-left: 171px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">80</div></div></div></foreignObject><text x="185" y="104" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">80</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-23"><g><ellipse cx="445.19" cy="100.07" rx="14.809999999999999" ry="14.809999999999999" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 100px; margin-left: 431px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">8080</div></div></div></foreignObject><text x="445" y="104" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">8080</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-26"><g><path d="M 610 100.36 L 630 100.36 L 633.63 100.36" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 638.88 100.36 L 631.88 103.86 L 633.63 100.36 L 631.88 96.86 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-25"><g><ellipse cx="654.8" cy="100.38" rx="14.805000000000001" ry="14.805000000000001" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 100px; margin-left: 641px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">6379</div></div></div></foreignObject><text x="655" y="104" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">6379</text></switch></g></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-27"><g><ellipse cx="317.5" cy="165.11" rx="15.110000000000001" ry="15.110000000000001" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 165px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">80</div></div></div></foreignObject><text x="318" y="169" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">80</text></switch></g></g></g><g data-cell-id="tNwRJceLnnh51XAiFPzD-4"><g><path d="M 253.75 260.91 L 317.55 260.91 L 317.51 246.59" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 317.5 241.34 L 321.02 248.33 L 317.51 246.59 L 314.02 248.35 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-28"><g><image x="207.65" y="229.5" width="45.6" height="61.8" xlink:href="https://app.diagrams.net/img/lib/allied_telesis/computer_and_terminals/Personal_Computer.svg"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 299px; margin-left: 231px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Client</div></div></div></foreignObject><text x="231" y="311" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Client</text></switch></g></g></g><g data-cell-id="tNwRJceLnnh51XAiFPzD-5"><g><path d="M 381.25 260.91 L 317.55 260.91 L 317.51 246.59" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 317.5 241.34 L 321.02 248.33 L 317.51 246.59 L 314.02 248.35 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="F3e45qTINoeGbKr2hIJ_-29"><g><image x="380.75" y="229.5" width="45.6" height="61.8" xlink:href="https://app.diagrams.net/img/lib/allied_telesis/computer_and_terminals/Personal_Computer.svg"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 299px; margin-left: 404px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Client</div></div></div></foreignObject><text x="404" y="311" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Client</text></switch></g></g></g><g data-cell-id="tNwRJceLnnh51XAiFPzD-2"><g><path d="M 317.5 210 L 317.55 190 L 317.55 200.18 L 317.51 186.59" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 317.5 181.34 L 321.02 188.33 L 317.51 186.59 L 314.02 188.35 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="tNwRJceLnnh51XAiFPzD-3"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 198px; margin-left: 319px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 11px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Exposed port : 80</div></div></div></foreignObject><text x="319" y="201" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="11px" text-anchor="middle">Exposed port : 80</text></switch></g></g></g></g><g data-cell-id="tNwRJceLnnh51XAiFPzD-1"><g><ellipse cx="317.5" cy="225.11" rx="15.110000000000001" ry="15.110000000000001" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 28px; height: 1px; padding-top: 225px; margin-left: 303px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: "Helvetica"; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">80</div></div></div></foreignObject><text x="318" y="229" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">80</text></switch></g></g></g></g></g></g></svg> |