Beschreibung:Dieses Skript dient zum anlegen Anlegen eines Reverse-Proxy-Frontend-Eintrag mit websocket-Unterstützung. Liste der verwendeten Variablen:Variable | Beschreibung |
---|
connection | (Optional) kann hier eine WAN-Verbindung angegeben werden. Wird eine angegeben, so muss auf diese referenziert werden wie im Beispiel angegeben. | backend | (Pflicht) Hier muss auf den Namen des gewünschten und zuvor erstellten Backendeintrags referenziert werden. | websocket | (Optional) Websocket-Unterstützung. Kann mit true eingeschaltet und mit false ausgeschaltet werden. | certificateUid | Wenn ssl auf true steht und letsEncrypt NICHT gesetzt ist, muss hier eine Referenz zum commonName des hinterlegten Zertifikats angegeben werden. Wird SSL nicht verwendet oder Let's Encrypt wird verwendet, kann das Feld mit "" leer gelassen werden. | keyPassword | Wird auf ein Zertifikat referenziert, muss hier der entsprechende Private Key zur Validierung angegeben werden. |
Info |
---|
Wird Let's Encrypt verwendet, muss das Feld certificateUid leer gelassen und letsEncrypt auf true gesetzt werden. |
Add-in Code:/** * @param {Config} config * @param {Context} context * Do not edit this comment or parameter types. Required for code suggestions */ exports.main = function (config, context) { // Function to create VRRP Entry (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) const ufApi = config.getUfApi(); var addVRRPEntry = function fwVersion = context.device.firmwareVersionObject; if (fwVersion.patch >= 7304) // LCOS FX 10.13 REL { var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2"); var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow(); table_1_2_8_21_2_row_1.setByOid(1, routerID); table_1_2_8_21_2_row_1.setByOid(2, routerIP); table_1_2_8_21_2_row_1.setByOid(3, mainPrio); table_1_2_8_21_2_row_1.setByOid(4, backupPrio); table_1_2_8_21_2_row_1.setByOid(5, remoteSite); table_1_2_8_21_2_row_1.setByOid(6, comment); table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1); }; // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio if (context.vars.VRRP_PRIO != "") { config.setScalarByOid("1.2.8.21.1", "1"); // Function Call to create a new Entry addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", ""); }
ufApi.createObject( 'reverse-proxy-frontends', { "domain": "dasisteintest.de", "active": true, "connection": ufApi.lookupField("connections", "uniqueId", {"name": "WAN"}), // WAN-connection as a filter, if whished "proxiedPaths": [ { "backend": ufApi.lookupField("reverse-proxy-backends", "uniqueId", {"name": "Testserver"}), // Name of the backend server entry "url": "/", "websocket":true } ], "blockedPaths": [], "port": 443, "ssl": true, "letsEncrypt": false, "certificateUid": ufApi.lookupField("certificates", "uniqueId", {"commonName": "FrontendCert"}), // commonName of the used certificate "outlook": false, "backendType": "custom", "httpRedirect": false, "keyPassword":"MyCertPassword" } ); } else { config.infoLog("Cannot set Reverse-Proxy-Frontend entry. Websockets via REST-API is supported since LCOS FX 10.13 REL") } }; |
---|
Add-in als JSON-Datei: View file |
---|
name | reverse_proxy_websocket.json |
---|
height | 150 |
---|
|
|