Legt Netzwerkprotokolloptionen fest, die vom MobiLink-Server verwendet werden, um Synchronisationsanforderungen zu empfangen.
Erforderliche getrennt lizenzierbare Komponenten.
FIPS-zertifizierte Verschlüsselung erfordert eine separate Lizenz. Alle Technologien für starke Verschlüsselungen unterliegen Exportbestimmungen.
mlsrv16 -c "connection-string" -x protocol[protocol-options] [ -x protocol[protocol-options] ... ] ...
protocol : tcpip | tls | http | https | oe
protocol-options : ( option=value; ... )
Die Option -x muss für jedes verwendete Protokoll angegeben werden. Beispiel: Damit MobiLink sowohl TCP/IP als auch HTTP abhört, können Sie Folgendes eingeben:
mlsrv16 -x tcpip(port=1234) -x http(port=2222) |
Standardwert ist tcpip mit Port 2439.
Folgende Werte für Protokoll sind zulässig:
tcpip Akzeptiert Verbindungen über TCP/IP.
tls Akzeptiert Verbindungen mit TCP/IP und Transportschichtsicherheit.
http Akzeptiert Verbindungen über das Standard-HTTP-Web-Protokoll.
https Akzeptiert Verbindungen über eine Variante von HTTP, die sichere Transaktionen abwickelt. Das HTTPS-Protokoll implementiert HTTP über SSL/TLS unter Verwendung der RSA-Verschlüsselung.
oe Verwendet einen integrierten Outbound Enabler bei der Verwendung des Relay-Servers. Die Befehlszeile des Servers kann nicht mehr als ein -x oe-Protokoll enthalten.
Sie können auch die folgenden Netzwerkprotokolloptionen in der Form von Option=Wert angeben. Mehrere Optionen müssen durch Semikola getrennt werden.
TCP/IP-Optionen Wenn Sie das TCP/IP-Protokoll verwenden, können Sie optional die folgenden Protokolloptionen festlegen (diese Optionen beachten die Groß-/Kleinschreibung):
TCP/IP-Protokolloption | Beschreibung |
---|---|
collect_network_data={ yes | no } | Aktiviert Synchronisationsskripten, um Netzwerkinformationen von jeder Synchronisation zu lesen. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
host=hostname | Der Hostname oder die IP-Nummer, die der MobiLink-Server überwachen soll. Der Standardwert ist localhost. |
ignore=hostname | Ein Hostname oder eine IP-Nummer, der bzw. die vom MobiLink-Server bei der Herstellung einer Verbindung ignoriert wird. Mithilfe
dieser Option können Sie Anforderungen von Lastverteilern auf der tiefstmöglichen Stufe ignorieren und so eine übermäßige
Ausgabe im MobiLink-Serverlog und in den MobiLink-Profiler-Ausgabedateien verhindern. Sie können mehrere zu ignorierende Hosts
angeben. Zum Beispiel: -x tcpip(ignore=lb1;ignore=123.45.67.89) . Wenn Sie mehrere Instanzen von -x in einer Befehlszeile angeben, wird der Host bei allen Instanzen ignoriert. Beispiel:
Wenn Sie -x tcpip(ignore=1.1.1.1) -x http angeben, werden die Verbindungen für 1.1.1.1 sowohl für den TCP/IP- als auch für den HTTP-Datenstrom ignoriert.
|
port=portnumber | Die Socket-Portnummer, die der MobiLink-Server überwachen soll. Der Standardport ist 2439. Dies ist die IANA-registrierte Portnummer für den MobiLink-Server. |
Optionen für TCP/IP mit Transportschichtsicherheit Wenn Sie das TLS-Protokoll festlegen (TLS ist TCP/IP mit Transportschichtsicherheit), können Sie wahlweise die folgenden Protokolloptionen angeben (diese Optionen beachten die Groß-/Kleinschreibung):
TLS-Protokolloptionen | Beschreibung |
---|---|
collect_network_data={ yes | no } | Aktiviert Synchronisationsskripten, um Netzwerkinformationen von jeder Synchronisation zu lesen. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
e2ee_private_key=file |
Die PEM- oder DER-kodierte Datei, die den privaten RSA-Schlüssel enthält. Diese Option ist erforderlich, damit die Punkt zu Punkt-Verschlüsselung wirksam werden kann. PEM- und DER-kodierte Dateien werden mithilfe des Dienstprogramms createkey erstellt. Siehe Schlüsselpaargenerator-Dienstprogramm (createkey). |
e2ee_private_key_password=password |
Das Kennwort für die private Schlüsseldatei. Diese Option ist erforderlich, damit die Punkt zu Punkt-Verschlüsselung wirksam werden kann. Wenn diese Option angegeben ist, muss der e2ee_private_key-Parameter ebenfalls angegeben werden. Um zu verhindern, dass das Kennwort in der Befehlszeile des MobiLink-Servers angezeigt wird, verwenden Sie das Dienstprogramm dbfhide. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
fips={yes|no} | Wenn Sie das TLS-Protokoll mit RSA verwenden, können Sie "fips=yes" angeben, um Verbindungen zu akzeptieren, die das TCP/IP-Protokoll und FIPS-zertifizierte Verschlüsselungsalgorithmen einsetzen. FIPS-zertifizierte Verbindungen verwenden eine separate, FIPS 140-2-zertifizierte Software. Server, die RSA-Verschlüsselung ohne FIPS-zertifizierte Verschlüsselung verwenden, sind mit Clients kompatibel, die RSA verwenden und bei denen die fips-Option aktiviert ist. Server, die RSA verwenden und bei denen die fips-Option aktiviert ist, sind mit Clients kompatibel, die RSA verwenden und bei denen die fips-Option nicht aktiviert ist. |
host=hostname | Der Hostname oder die IP-Nummer, die der MobiLink-Server überwachen soll. Der Standardwert ist localhost. |
identity=Identitätsdatei | Pfad und Dateiname der Identitätsdatei, die für die Serverauthentifizierung verwendet werden sollen. |
identity_password=Kennwort |
Ein optionaler Parameter, der ein Kennwort für die Identitätsdatei festlegt. Wenn diese Option angegeben ist, muss die identity-Option ebenfalls angegeben werden. Siehe Transportschichtsicherheit. Um zu verhindern, dass das Kennwort in der Befehlszeile des MobiLink-Servers angezeigt wird, verwenden Sie das Dienstprogramm dbfhide. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
ignore=Hostname | Ein Hostname oder eine IP-Nummer, der bzw. die vom MobiLink-Server bei der Herstellung einer Verbindung ignoriert wird. Mithilfe
dieser Option können Sie Anforderungen von Lastverteilern auf der tiefstmöglichen Stufe ignorieren und so eine übermäßige
Ausgabe im MobiLink-Serverlog und in den MobiLink-Profiler-Ausgabedateien verhindern. Sie können mehrere zu ignorierende Hosts
angeben. Zum Beispiel: -x tcpip(ignore=lb1;ignore=123.45.67.89) .
|
port=Portnummer | Die Socket-Portnummer, die der MobiLink-Server überwachen soll. Der Standardport ist 2439. Dies ist die IANA-registrierte Portnummer für den MobiLink-Server. |
trusted_certificates=Zertifikatdatei |
Verwenden Sie diese Option, um zu gewährleisten, dass das Clientzertifikat gültig ist, und führen Sie anschließend mithilfe der NetworkData.ClientCertificates-API die weitere Authentifizierung des Zertifikats im authenticate_user-Skript durch. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
HTTP-Optionen Wenn Sie das HTTP-Protokoll verwenden, können Sie optional die folgenden Protokolloptionen festlegen (diese Optionen beachten die Groß-/Kleinschreibung):
HTTP-Optionen | Beschreibung |
---|---|
buffer_size=Zahl | Die maximale Größe einer vom MobiLink-Server gesendeten HTTP-Nachricht in Byte. Eine Veränderung dieser Option führt zu einer Zu- oder Abnahme des für das Versenden von HTTP-Nachrichten zugewiesenen Speicherplatzes. Der Standardwert ist 65536 Byte. |
collect_network_data={ yes | no } | Aktiviert Synchronisationsskripten, um Netzwerkinformationen von jeder Synchronisation zu lesen. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
header_limit=Anzahl | Die maximale Menge von Headerdaten, die in einer HTTP-Anforderung gesendet werden kann. Wenn eine Abfrage den angegebenen
Wert überschreitet, gibt der Server einen HTTP-Fehlercode zurück und bricht die Anforderung ab. Mit -x http(header_limit=200000) wird die Grenze beispielsweise auf 200000 Byte erhöht. Der Standardwert beträgt 64000 Byte.
|
host=Hostname | Der Hostname oder die IP-Nummer, die der MobiLink-Server überwachen soll. Der Standardwert ist localhost. |
log_bad_request={ yes | no } | Bei der Einstellung "yes" gibt der MobiLink-Server einen Fehler aus, wenn er eine unvollständige oder unerwartete HTTP-Anforderung empfängt. Diese Fehler sind analog denjenigen, die von der Option -vf ausgegeben werden. Der Standardwert ist "no". Siehe mlsrv16-Option -v . |
port=Portnummer | Die Socket-Portnummer, die der MobiLink-Server überwachen soll. Der Standardport ist 80. |
version=HTTP-Version | Der MobiLink-Server erkennt automatisch die von einem Client verwendete HTTP-Version. Dieser Parameter ist eine Zeichenfolge, die angibt, welche HTTP-Version standardmäßig zu verwenden ist, wenn der Server die vom Client verwendete Version nicht erkennt. Sie können zwischen 1.0 und 1.1 wählen. Die Standardeinstellung ist 1.1. |
HTTPS-Optionen Das HTTPS-Protokoll verwendet digitale RSA-Zertifikate für die Transportschichtsicherheit. Wenn Sie die FIPS-Verschlüsselung angeben, verwendet das Protokoll separate FIPS 140-2-zertifizierte Software, die mit HTTPS kompatibel ist.
Weitere Hinweise finden Sie unter Den MobiLink-Server mit Transportschichtsicherheit starten.
Wenn Sie das https-Protokoll verwenden, können Sie optional die folgenden Protokolloptionen festlegen (bei diesen Optionen wird zwischen Groß-/Kleinschreibung unterschieden):
HTTPS-Optionen | Beschreibung |
---|---|
buffer_size=Zahl | Die maximale Größe einer vom MobiLink-Server gesendeten HTTPS-Nachricht in Byte. Eine Veränderung dieser Option führt zu einer Zu- oder Abnahme des für das Versenden von HTTPS-Nachrichten belegten Speicherplatzes. Der Standardwert ist 65536 Byte. |
collect_network_data={ yes | no } | Aktiviert Synchronisationsskripten, um Netzwerkinformationen von jeder Synchronisation zu lesen. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
e2ee_private_key=file |
Die PEM- oder DER-kodierte Datei, die den privaten RSA-Schlüssel enthält. Diese Option ist erforderlich, damit die Punkt zu Punkt-Verschlüsselung wirksam werden kann. PEM- und DER-kodierte Dateien werden mithilfe des Dienstprogramms createkey erstellt. Siehe Schlüsselpaargenerator-Dienstprogramm (createkey). |
e2ee_private_key_password=password |
Das Kennwort für die private Schlüsseldatei. Diese Option ist erforderlich, damit die Punkt zu Punkt-Verschlüsselung wirksam werden kann. Wenn diese Option angegeben ist, muss die e2ee_private_key-Option ebenfalls angegeben werden. Um zu verhindern, dass das Kennwort in der Befehlszeile des MobiLink-Servers angezeigt wird, verwenden Sie das Dienstprogramm dbfhide. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
fips={yes|no} | Wenn Sie das TLS-Protokoll mit RSA verwenden, können Sie "fips=yes" angeben, um Verbindungen zu akzeptieren, die das TCP/IP-Protokoll und FIPS-zertifizierte Verschlüsselungsalgorithmen einsetzen. FIPS-zertifizierte Verbindungen verwenden eine separate, FIPS 140-2-zertifizierte Software. Server, die RSA-Verschlüsselung ohne FIPS-zertifizierte Verschlüsselung verwenden, sind mit Clients kompatibel, die RSA verwenden und bei denen die fips-Option aktiviert ist. Server, die RSA verwenden und bei denen die fips-Option aktiviert ist, sind mit Clients kompatibel, die RSA verwenden und bei denen die fips-Option nicht aktiviert ist. |
header_limit=number | Die maximale Menge von Headerdaten, die in einer HTTPS-Anforderung gesendet werden kann. Wenn eine Abfrage den angegebenen
Wert überschreitet, gibt der Server einen Fehlercode zurück und bricht die Anforderung ab. Mit -x https(header_limit=200000) wird die Grenze beispielsweise auf 200000 Byte erhöht. Der Standardwert beträgt 64000 Byte.
|
host= hostname | Der Hostname oder die IP-Nummer, die der MobiLink-Server überwachen soll. Der Standardwert ist localhost. |
identity=server-identity | Pfad und Dateiname der Identitätsdatei, die für die Serverauthentifizierung verwendet werden sollen. |
identity_password=password |
Ein optionaler Parameter, der ein Kennwort für die Identitätsdatei festlegt. Wenn diese Option angegeben ist, muss die identity-Option ebenfalls angegeben werden. Siehe Transportschichtsicherheit. Um zu verhindern, dass das Kennwort in der Befehlszeile des MobiLink-Servers angezeigt wird, verwenden Sie das Dienstprogramm dbfhide. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
log_bad_request={ yes | no } | Bei der Einstellung "yes" gibt der MobiLink-Server einen Fehler aus, wenn er eine unvollständige oder unerwartete HTTP-Anforderung empfängt. Diese Fehler sind analog denjenigen, die von der Option -vf ausgegeben werden. Der Standardwert ist "no". Siehe mlsrv16-Option -v . |
port=portnumber | Die Socket-Portnummer, die der MobiLink-Server überwachen soll. Die Portnummer muss mit dem Port übereinstimmen, zu dessen Überwachung der MobiLink-Server eingerichtet wurde. Der Standardport ist 443. |
trusted_certificates=certificate_file |
Verwenden Sie diese Option, um zu gewährleisten, dass das Clientzertifikat gültig ist, und führen Sie anschließend mithilfe der NetworkData.ClientCertificates-API die weitere Authentifizierung des Zertifikats im authenticate_user-Skript durch. Siehe NetworkData-Schnittstelle [MobiLink-Server Java] und NetworkData-Schnittstelle [MobiLink-Server-API für .NET]. |
version=http-version | Der MobiLink-Server erkennt automatisch die von einem Client verwendete HTTP-Version. Dieser Parameter ist eine Zeichenfolge, die angibt, welche HTTP-Version standardmäßig zu verwenden ist, wenn der Server die vom Client verwendete Version nicht erkennt. Sie können zwischen 1.0 und 1.1 wählen. Die Standardeinstellung ist 1.1. |
Outbound Enabler-Optionen Wenn Sie das OE-Protokoll verwenden, können Sie optional die folgenden Protokolloptionen festlegen (bei diesen Optionen ist die Groß-/Kleinschreibung wichtig):
Outbound Enabler-Protokolloption | Beschreibung |
---|---|
buffer_size=number |
Die maximale Größe einer vom MobiLink-Server gesendeten HTTP-Nachricht in Byte. Eine Veränderung dieser Option führt zu einer Zu- oder Abnahme des für das Versenden von HTTP-Nachrichten zugewiesenen Speicherplatzes. Der Standardwert ist 65536 Byte. |
config=file |
Die Outbound Enabler-Konfigurationsdatei. Sie hat das gleiche Format wie eine Konfigurationsdatei für den eigenständigen Outbound Enabler, außer dass Sie in dieser Datei nicht den Parameter -cs angeben dürfen. Sie müssen genau eine Konfigurationsdatei angeben. |
header_limit=number | Die maximale Menge von Headerdaten, die in einer OE-Anforderung gesendet werden kann. Wenn eine Abfrage den angegebenen Wert
überschreitet, gibt der Server einen Fehlercode zurück und bricht die Anforderung ab. Mit -x oe(header_limit=200000) wird die Grenze beispielsweise auf 200000 Byte erhöht. Der Standardwert beträgt 64000 Byte.
|
log_bad_request={yes|no} | Bei der Einstellung "yes" gibt der MobiLink-Server einen Fehler aus, wenn er eine unvollständige oder unerwartete HTTP-Anforderung empfängt. Diese Fehler sind analog denjenigen, die von der Option -vf ausgegeben werden. Der Standardwert ist "no". Siehe mlsrv16-Option -v . |
version=http-version |
Der MobiLink-Server erkennt automatisch die von einem Client verwendete HTTP-Version. Dieser Parameter ist eine Zeichenfolge, die die Version des zu verwendenden HTTP angibt, wenn der Server die vom Client verwendete Methode nicht erkennt. Sie können zwischen 1.0 und 1.1 wählen. Die Standardeinstellung ist 1.1. |
Die folgende Befehlszeile setzt den TCP/IP-Port auf 12345:
mlsrv16 -c "DSN=SQL Anywhere 16 CustDB;UID=DBA;PWD=sql" -x tcpip(port=12345) |
Im folgenden Beispiel werden der Typ der Sicherheit (RSA), die Serveridentitätsdatei und das Identitätskennwort, mit dem der private Schlüssel des Servers geschützt wird, angegeben:
mlsrv16 -c "DSN=my_cons" -x tls(identity=c:\test\serv_rsa1.crt;identity_password=pwd) |
Das folgende Beispiel ist ähnlich dem vorherigen, mit dem Unterschied, dass der Name der Identitätsdatei ein Leerzeichen enthält:
mlsrv16 -c "DSN=my_cons" -x "tls(identity=c:\Program Files\test\serv_rsa1.crt;identity_password=pwd)" |
Das folgende Beispiel zeigt die Verwendung der Punkt zu Punkt-Verschlüsselung über HTTPS:
mlsrv16 -c "DSN=my_cons" -x https(identity=my_identity.crt; identity_password=my_id_pwd;e2ee_private_key=my_pk.pem; e2ee_private_key_password=my_pk_pwd) |
Das folgende Beispiel zeigt die Verwendung des integrierten Outbound Enabler:
mlsrv16 -c "DSN=my_cons" -x oe(config=oeconfig.txt) |
Im obigen Beispiel enthält die Datei oeconfig.txt Folgendes:
-f farm.name -id servername -t a18b2e37dbc296322ec5a6eded6ba896 -cr "host=relayserver.sybase.com;https=0;port=80" |
Das folgende Beispiel zeigt, wie Sie die NetworkData-Schnittstelle verwenden können, um Zertifikatinformationen aus einer sicheren Synchronisation abzurufen.
public class OrderProcessor { DBConnectionContext _cc; public OrderProcessor( DBConnectionContext cc ) { _cc = cc; } // The method used for the authenticate_user event. public void AuthUser() { NetworkData nd = _cc.getNetworkData(); if( nd != null ) { if( nd.isTLS() ) { CertPath certs = nd.getCertificateChain(); if( certs != null ) { System.out.println( " client-side cert:" ); int n = 1; for( Certificate c : certs.getCertificates() ) { System.out.println( " cert " + n++ ); X509Certificate c509 = (X509Certificate) c; System.out.println( " Subject: " + c509.getSubjectX500Principal().getName() ); System.out.println( " Issuer: " + c509.getIssuerX500Principal().getName() ); } } else { System.out.println( " no client cert" ); } } } } } |
Führen Sie die folgende SQL-Anweisung aus, um die Java-Methode zu registrieren.
ml_add_java_connection_script( <version>, 'authenticate_user', 'OrderProcessor.AuthUser' ) |
Die beiden folgenden Beispiele zeigen die Optionen, die Sie zur MobiLink-Befehlszeile hinzufügen müssen. Das erste Beispiel gilt für HTTPS, das zweite Beispiel für TLS.
mlsrv16 -c <connection_string> -x https(collect_network_data=1;trusted_certificates=<certificate_file>) -sl java |
mlsrv16 -c <connection_string> -x tls(collect_network_data=1;trusted_certificates=<certificate_file>) -sl java |
Das folgende Beispiel zeigt, wie Sie die NetworkData-Schnittstelle verwenden können, um Zertifikatinformationen aus einer sicheren Synchronisation abzurufen.
public class OrderProcessor { DBConnectionContext _cc; public OrderProcessor( DBConnectionContext cc ) { _cc = cc; } public void AuthUser() { NetworkData nd = _cc.NetworkData; if( nd != null ) { if( nd.IsTLS ) { X509Certificate2Collection certs = nd.ClientCertificates; if( certs != null ) { PrintLn( " client-side cert:" ); int n = 1; foreach( X509Certificate2 x509 in certs ) { PrintLn( " cert " + n++ ); PrintLn( " Subject: " + x509.SubjectName.Name ); PrintLn( " Issuer: " + x509.IssuerName.Name ); } } } } } } |
Führen Sie die folgende SQL-Anweisung aus, um die .NET-Methode zu registrieren.
ml_add_dnet_connection_script( <version>, 'authenticate_user', 'OrderProcessor.AuthUser' ) |
Die beiden folgenden Beispiele zeigen die Optionen, die Sie zur MobiLink-Befehlszeile hinzufügen müssen. Das erste Beispiel gilt für HTTPS, das zweite Beispiel für TLS.
mlsrv16 -c <connection_string> -x https(collect_network_data=1;trusted_certificates=<certificate_file>) -sl dnet |
mlsrv16 -c <connection_string> -x tls(collect_network_data=1;trusted_certificates=<certificate_file>) -sl dnet |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |