Εγκατάσταση του στοιχείου HTML5 Gateway Docker¶
Εισαγωγή της εικόνας Docker¶
Για να μπορέσετε να δημιουργήσετε ένα κοντέινερ HTML5 Gateway Docker, πρέπει να εισαγάγετε την εικόνα Docker. Για να το κάνετε αυτό, ανοίξτε ένα κέλυφος (shell) από το οποίο έχετε στη διάθεσή σας τις εντολές Docker, καθώς και το αρχείο cleanroom-html5-4.6.1-33-v2.tgz. Από το κέλυφος, εκτελέστε την ακόλουθη εντολή, προσαρμόζοντας τη διαδρομή του αρχείου TGZ εάν δεν βρίσκεται στον τρέχοντα κατάλογο:
1 | |
Στη συνέχεια, ελέγξτε ότι η εισαγωγή ήταν επιτυχής με την ακόλουθη εντολή:
1 | |
Η αναμενόμενη έξοδος είναι η ακόλουθη. Εάν δεν συμβαίνει αυτό, η εισαγωγή απέτυχε:
1 2 3 4 5 6 | |
Πλήρης έξοδος
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | |
Διαμόρφωση του κοντέινερ¶
Μεταβλητές περιβάλλοντος¶
Μεταβλητές για ανάπτυξη μέσω σύζευξης¶
| Όνομα | Υποχρεωτικό | Προεπιλεγμένη τιμή | Σχόλιο |
|---|---|---|---|
ENV_MEDIATION |
ΝΑΙ | Χρησιμοποιείται για τη σύνδεση μέσω σύζευξης. Υποδεικνύει το όνομα DNS ή τη διεύθυνση IP για τη σύνδεση στο περιβάλλον web μιας πλατφόρμας CyberElements Bastion. |
|
ENV_TOKEN |
ΝΑΙ | Χρησιμοποιείται για τη σύνδεση μέσω σύζευξης. Υποδεικνύει το διακριτικό σύζευξης που θα χρησιμοποιηθεί για τη σύνδεση με την υπηρεσία Mediation Controller. |
|
ENV_NO_CHECK_CERT |
ΟΧΙ | false |
Χρησιμοποιείται για τις συνδέσεις μέσω σύζευξης. Καθορίζει αν θα απενεργοποιηθεί ή όχι ο έλεγχος του πιστοποιητικού web του στοιχείου Mediation Controller· χρήσιμο με το CyberElements Bastion κατά την πρόσβαση μέσω διεύθυνσης IP ή όταν το πιστοποιητικό web δεν είναι πιστοποιητικό αναγνωρισμένο από τις προεπιλεγμένες δημόσιες αρχές έκδοσης πιστοποιητικών. Αποδεκτές τιμές: true ή false. |
Μεταβλητές για χειροκίνητη ανάπτυξη¶
| Όνομα | Υποχρεωτικό | Προεπιλεγμένη τιμή | Σχόλιο |
|---|---|---|---|
ENV_GW_CERT_NAME |
ΝΑΙ | Χρησιμοποιείται για τη σύνδεση με χειροκίνητη διαμόρφωση. Όνομα του αρχείου πιστοποιητικού για τη σύνδεση με το στοιχείο SSL Router. |
|
ENV_GW_CERT_PASSWORD |
ΝΑΙ | Χρησιμοποιείται για τη σύνδεση με χειροκίνητη διαμόρφωση. Κωδικός πρόσβασης του αρχείου πιστοποιητικού για τη σύνδεση με το στοιχείο SSL Router. |
|
ENV_SSL_ROUTER_IP |
ΝΑΙ | Χρησιμοποιείται για τη σύνδεση με μη αυτόματη διαμόρφωση. Διεύθυνση IP ή όνομα DNS του δρομολογητή SSL στον οποίο θα συνδεθεί το στοιχείο HTML5 Gateway. |
|
ENV_SSL_ROUTER_PORT |
ΟΧΙ | 443 |
Χρησιμοποιείται για τη σύνδεση με μη αυτόματη διαμόρφωση. Θύρα του δρομολογητή SSL στον οποίο θα συνδεθεί το στοιχείο HTML5 Gateway. |
Διάφορες μεταβλητές¶
| Όνομα | Υποχρεωτικό | Προεπιλεγμένη τιμή | Σχόλιο |
|---|---|---|---|
ENV_DISABLE_RSYSLOG |
ΟΧΙ | false |
Απενεργοποίηση της υπηρεσίας rsyslog.Αποδεκτές τιμές: true ή false. |
Τόμοι¶
| Τόμος | Σχόλιο |
|---|---|
/etc/ipdiva/ |
Τόμος διαμόρφωσης του στοιχείου HTML5 Gateway. Συνιστάται η προσάρτησή του σε επώνυμο τόμο ή στο σύστημα αρχείων του κεντρικού υπολογιστή. |
/opt/certificates/ |
Τόμος που περιέχει το πιστοποιητικό ή τα πιστοποιητικά του στοιχείου HTML5 Gateway κατά τη διαμόρφωση χωρίς σύζευξη. |
/var/log/ |
Τόμος που περιέχει τα αρχεία καταγραφής του στοιχείου HTML5 Gateway. |
Θύρες¶
| Θύρα | Σχόλιο |
|---|---|
8080 |
Θύρα ακρόασης της υπηρεσίας HTML5. |
Ανάπτυξη του στοιχείου HTML5 Gateway Docker¶
Ανάπτυξη με σύζευξη¶
Προαπαιτούμενα
Πριν από την ανάπτυξη του στοιχείου HTML5 Gateway Docker, πρέπει να λάβετε ένα διακριτικό σύζευξης.
Η ανάπτυξη που περιγράφεται παρακάτω θα χρησιμοποιεί όλους τους διαθέσιμους τόμους (εκτός από τον /opt/certificates/, ο οποίος δεν είναι χρήσιμος σε αυτή την περίπτωση) και θα εκθέτει όλες τις θύρες.
Οι τόμοι θα προσαρτηθούν στο σύστημα αρχείων του κεντρικού υπολογιστή στη θέση HTML5_GATEWAY_REP. Μέσα σε αυτή τη θέση βρίσκονται οι ακόλουθοι υποκατάλογοι:
- config
- log
Μπορείτε να προσαρμόσετε τις μεταβλητές για τις ακόλουθες εντολές:
| Προσαρμοσμένη τιμή | Μεταβλητή | Σχόλιο |
|---|---|---|
DOCKER_NAME |
Όνομα του κοντέινερ Docker. | |
HTML5_GATEWAY_REP |
Θέση στο σύστημα αρχείων όπου θα προσαρτηθούν οι τόμοι. | |
ENV_MEDIATION_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_MEDIATION. |
|
ENV_TOKEN_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_TOKEN. |
|
ENV_NO_CHECK_CERT_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_NO_CHECK_CERT. |
Δημιουργήστε το δέντρο καταλόγων που απαιτείται για την προσάρτηση των τόμων στο σύστημα αρχείων:
1 2 | |
1 | |
Και, τέλος, εκκινήστε ένα νέο κοντέινερ:
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 | |
Τα αρχεία καταγραφής του κοντέινερ μπορούν να προβληθούν με την ακόλουθη εντολή:
1 | |
Μη αυτόματη ανάπτυξη¶
Προαπαιτούμενα
Πριν από την ανάπτυξη του στοιχείου HTML5 Gateway Docker, πρέπει να διαθέτετε το πιστοποιητικό που απαιτείται για το στοιχείο HTML5 Gateway.
Κωδικοί πρόσβασης ορατοί με το docker inspect
Οι μεταβλητές περιβάλλοντος ενός κοντέινερ, συμπεριλαμβανομένων των κωδικών πρόσβασης των πιστοποιητικών, παραμένουν αναγνώσιμες από οποιονδήποτε μπορεί να εκτελέσει το docker inspect στον διακομιστή Docker. Επομένως, θα πρέπει να προτιμάται η ανάπτυξη με σύζευξη, η οποία δεν χρησιμοποιεί κωδικό πρόσβασης πιστοποιητικού.
Η ανάπτυξη που περιγράφεται παρακάτω θα χρησιμοποιήσει όλους τους διαθέσιμους τόμους και θα καταστήσει διαθέσιμες όλες τις θύρες.
Οι τόμοι θα προσαρτηθούν στο σύστημα αρχείων του κεντρικού υπολογιστή, στη θέση MANUAL_REP. Μέσα σε αυτή τη θέση βρίσκονται οι ακόλουθοι υποφάκελοι:
- config
- log
- certificates
Μπορείτε να προσαρμόσετε τις μεταβλητές για τις ακόλουθες εντολές:
| Προσαρμοσμένη τιμή | Μεταβλητή | Σχόλιο |
|---|---|---|
MANUAL_NAME |
Όνομα του κοντέινερ Docker. | |
MANUAL_REP |
Θέση στο σύστημα αρχείων όπου προσαρτώνται οι τόμοι. | |
ENV_GW_CERT_NAME_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_GW_CERT_NAME. |
|
ENV_SSL_ROUTER_IP_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_SSL_ROUTER_IP. |
|
ENV_SSL_ROUTER_PORT_VALUE |
Τιμή της μεταβλητής περιβάλλοντος ENV_SSL_ROUTER_PORT. |
Δημιουργήστε το δέντρο καταλόγων που απαιτείται για την προσάρτηση των τόμων στο σύστημα αρχείων:
1 2 3 | |
1 | |
Στη συνέχεια, τοποθετήστε τα πιστοποιητικά του στοιχείου HTML5 Gateway και της υπηρεσίας εγγραφής στο MANUAL_REP/certificates.
Για να μη διατηρούνται οι κωδικοί πρόσβασης των πιστοποιητικών στο ιστορικό του shell, εισαγάγετέ τους σε μεταβλητές περιβάλλοντος της τρέχουσας περιόδου λειτουργίας (η πληκτρολόγηση δεν εμφανίζεται):
1 2 | |
1 | |
Τέλος, εκκινήστε ένα νέο κοντέινερ:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
Μόλις εκκινηθεί το κοντέινερ, καταργήστε αυτές τις μεταβλητές από την περίοδο λειτουργίας:
1 | |
1 | |
Τα αρχεία καταγραφής του κοντέινερ μπορούν να προβληθούν με την ακόλουθη εντολή:
1 | |
Διαμόρφωση του στοιχείου Mediation Controller¶
Για να είναι λειτουργικό το νέο στοιχείο HTML5 Gateway Docker, πρέπει ακόμη να διαμορφωθεί ο διακομιστής Mediation Controller μέσω πρόσβασης SSH ή κονσόλας και με άδειες root.
Αυτή η τελευταία ρύθμιση απαιτείται για να μπορεί το στοιχείο Mediation Controller να επικοινωνεί με την υπηρεσία HTML5.
Ωστόσο, αυτή η διαμόρφωση διαφέρει ανάλογα με τη θέση του στοιχείου HTML5 Gateway Docker:
Το συνολικό διάγραμμα είναι το εξής:
flowchart LR
subgraph DMZ
direction TB
HTML5(HTML5 Gateway Docker)
MED(Mediation Controller)
end
subgraph LAN
GW(Edge Gateway)
end
MED -.-> |Σύνδεση με την υπηρεσία HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
MED ~~~ GW
GW --> |TLS Tunnel| MED
GW ~~~ MED
linkStyle 0 stroke:#d22,color;
Σε αυτή την περίπτωση, θα πρέπει να προσθέσετε τις πληροφορίες που δίνονται παρακάτω στο αρχείο /etc/ipdiva/httpd/commonParameters.extra.conf ή να το δημιουργήσετε.
Οι ρυθμίσεις μπορούν να προσαρμοστούν:
| Προσαρμοσμένη τιμή | Μεταβλητή | Σχόλιο |
|---|---|---|
HTML5_URL_DMZ |
Διεύθυνση URL που διαμορφώθηκε κατά τη δήλωση του στοιχείου HTML5 Gateway στην κονσόλα διαχείρισης. | |
HTML5_IP_DMZ |
Όνομα DNS ή διεύθυνση IP του διακομιστή Docker στον οποίο είναι ενεργό το στοιχείο HTML5 Gateway Docker. | |
HTML5_PORT_DMZ |
Θύρα που δημοσιεύει ο διακομιστής Docker για το στοιχείο HTML5 Gateway Docker. |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Το συνολικό διάγραμμα είναι το εξής:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
HTML5(HTML5 Gateway Docker)
GW(Edge Gateway)
end
MED -.- | Σύνδεση με την υπηρεσία HTML5 ; μέσω σήραγγας TLS| GW -.-> |Σύνδεση με την υπηρεσία HTML5 ; TCP 8080| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
Σε αυτή την περίπτωση, θα πρέπει να προσθέσετε τις πληροφορίες που δίνονται παρακάτω στο αρχείο /etc/ipdiva/httpd/commonParameters.extra.conf ή να το δημιουργήσετε.
Οι ρυθμίσεις μπορούν να προσαρμοστούν:
| Προσαρμοσμένη τιμή | Μεταβλητή | Σχόλιο |
|---|---|---|
HTML5_URL_LAN |
Διεύθυνση URL που διαμορφώθηκε κατά τη δήλωση του στοιχείου HTML5 Gateway στην κονσόλα διαχείρισης. | |
GW_NAME_LAN |
Όνομα του στοιχείου Edge Gateway που χρησιμοποιείται για τη σύνδεση με την υπηρεσία HTML5. Ο χαρακτήρας κάθετης γραμμής στο τέλος της γραμμής πρέπει να διατηρηθεί. | |
ORGANIZATION_NAME_LAN |
Όνομα του οργανισμού στον οποίο συνδέεται το στοιχείο Edge Gateway. | |
HTML5_IP_LAN |
Όνομα DNS ή διεύθυνση IP του διακομιστή Docker στον οποίο είναι ενεργό το στοιχείο HTML5 Gateway Docker. | |
HTML5_PORT_LAN |
Θύρα που δημοσιεύει ο διακομιστής Docker για το στοιχείο HTML5 Gateway Docker. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Συμβουλή
Αυτή η διαμόρφωση μπορεί επίσης να χρησιμοποιηθεί στην ακόλουθη περίπτωση, όπου ένα στοιχείο Edge Gateway σε Docker και ένα στοιχείο HTML5 Gateway σε Docker εκτελούνται στο ίδιο δίκτυο Docker:
flowchart LR
subgraph DMZ
direction TB
MED(Mediation Controller)
end
subgraph LAN
subgraph docker[Docker Server]
HTML5([HTML5 Gateway Docker])
GW([Edge Gateway])
end
end
MED -.- | Σύνδεση με την υπηρεσία HTML5 ; μέσω σήραγγας TLS| GW -.-> |Σύνδεση με την υπηρεσία HTML5 ; TCP 8080 μέσω του δικτύου Docker| HTML5
HTML5 --> |TLS Tunnel| MED
GW --> |TLS Tunnel| MED
linkStyle 0,1 stroke:#d22,color;
Παράδειγμα
Σε αυτό το παράδειγμα, θα αναπτύξουμε ένα στοιχείο Edge Gateway και ένα στοιχείο HTML5 Gateway στον ίδιο διακομιστή Docker.
Η υποδομή που χρησιμοποιείται για το παράδειγμα είναι η εξής:
- Διακομιστής Mediation Controller
- Διεύθυνση IP web:
10.0.10.10 - Όνομα οργανισμού:
my-organization-name - Διακριτικό για το στοιχείο Edge Gateway:
YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH - Διακριτικό για το στοιχείο HTML5 Gateway:
ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF - Διεύθυνση URL για την πρόσβαση στην υπηρεσία HTML5:
HTML5_DOCKER
- Διεύθυνση IP web:
- Διακομιστής Docker
- Όνομα δικτύου Docker:
cyberelements-cleanroom-network - Edge Gateway
- Όνομα:
my-edge-gateway-docker - Ριζική θέση στο σύστημα αρχείων:
/opt/my-edge-gateway-docker
- Όνομα:
- HTML5 Gateway
- Όνομα:
my-html5-gateway-docker - Ριζική θέση στο σύστημα αρχείων:
/opt/my-html5-gateway-docker
- Όνομα:
- Όνομα δικτύου Docker:
Αρχικά, στον διακομιστή Docker, πρέπει να δημιουργήσετε τη δομή καταλόγων για την προσάρτηση των τόμων Docker:
1 2 3 4 5 6 | |
Στη συνέχεια, δημιουργήστε ένα δίκτυο Docker τύπου bridge, ώστε τα δύο κοντέινερ να μπορούν να επικοινωνούν μεταξύ τους:
1 | |
Έπειτα, εκκινήστε το κοντέινερ του στοιχείου Edge Gateway. Σημειώστε ότι στο παράδειγμα δημιουργείται σύνδεση μέσω σύζευξης, με πρόσβαση στο στοιχείο Mediation Controller μέσω της διεύθυνσης IP του και χωρίς έλεγχο πιστοποιητικού. Επιπλέον, προστίθεται η παράμετρος --network για να καθοριστεί η χρήση του δικτύου Docker που δημιουργήθηκε προηγουμένως:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Έπειτα, εκκινήστε το κοντέινερ του στοιχείου HTML5 Gateway. Σημειώστε ότι στο παράδειγμα δημιουργείται σύνδεση μέσω σύζευξης, με πρόσβαση στο στοιχείο Mediation Controller μέσω της διεύθυνσης IP του και χωρίς έλεγχο πιστοποιητικού. Επιπλέον, προστίθεται η παράμετρος --network για να καθοριστεί η χρήση του δικτύου Docker που δημιουργήθηκε προηγουμένως και, καθώς η πρόσβαση στην υπηρεσία HTML5 θα γίνεται μέσω του δικτύου Docker, η δημοσίευση της θύρας 8080 δεν είναι απαραίτητη:
1 2 3 4 5 6 7 8 | |
Τέλος, πρέπει να διαμορφωθεί το αρχείο /etc/ipdiva/httpd/commonParameters.extra.conf στον διακομιστή ή στους διακομιστές Mediation Controller. Πρέπει να προστεθεί το ακόλουθο τμήμα:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Πριν από την εφαρμογή των νέων ρυθμίσεων, πρέπει να ελέγξετε ότι η νέα διαμόρφωση δεν προκαλεί σφάλματα που εμποδίζουν τη λειτουργία του διακομιστή web Apache2.
Για να το κάνετε αυτό, εκτελέστε την ακόλουθη εντολή:
1 | |
Εάν η απόκριση είναι Syntax OK, οι αλλαγές μπορούν να εφαρμοστούν με την παρακάτω εντολή. Διαφορετικά, ελέγξτε τη διαμόρφωση του αρχείου /etc/ipdiva/httpd/commonParameters.extra.conf.
1 | |