mirror of
https://github.com/mochi-mqtt/server.git
synced 2025-10-06 08:37:14 +08:00
update TLS example to use TLSConfig field
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/tls"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
@@ -57,14 +58,30 @@ func main() {
|
|||||||
|
|
||||||
fmt.Println(aurora.Magenta("Mochi MQTT Server initializing..."), aurora.Cyan("TLS/SSL"))
|
fmt.Println(aurora.Magenta("Mochi MQTT Server initializing..."), aurora.Cyan("TLS/SSL"))
|
||||||
|
|
||||||
|
cert, err := tls.X509KeyPair(testCertificate, testPrivateKey)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Basic TLS Config
|
||||||
|
tlsConfig := &tls.Config{
|
||||||
|
Certificates: []tls.Certificate{cert},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Optionally, if you want clients to authenticate only with certs issued by your CA,
|
||||||
|
// you might want to use something like this:
|
||||||
|
// certPool := x509.NewCertPool()
|
||||||
|
// _ = certPool.AppendCertsFromPEM(caCertPem)
|
||||||
|
// tlsConfig := &tls.Config{
|
||||||
|
// ClientCAs: certPool,
|
||||||
|
// ClientAuth: tls.RequireAndVerifyClientCert,
|
||||||
|
// }
|
||||||
|
|
||||||
server := mqtt.NewServer(nil)
|
server := mqtt.NewServer(nil)
|
||||||
tcp := listeners.NewTCP("t1", ":1883")
|
tcp := listeners.NewTCP("t1", ":1883")
|
||||||
err := server.AddListener(tcp, &listeners.Config{
|
err = server.AddListener(tcp, &listeners.Config{
|
||||||
Auth: new(auth.Allow),
|
Auth: new(auth.Allow),
|
||||||
TLS: &listeners.TLS{
|
TLSConfig: tlsConfig,
|
||||||
Certificate: testCertificate,
|
|
||||||
PrivateKey: testPrivateKey,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
@@ -72,11 +89,8 @@ func main() {
|
|||||||
|
|
||||||
ws := listeners.NewWebsocket("ws1", ":1882")
|
ws := listeners.NewWebsocket("ws1", ":1882")
|
||||||
err = server.AddListener(ws, &listeners.Config{
|
err = server.AddListener(ws, &listeners.Config{
|
||||||
Auth: new(auth.Allow),
|
Auth: new(auth.Allow),
|
||||||
TLS: &listeners.TLS{
|
TLSConfig: tlsConfig,
|
||||||
Certificate: testCertificate,
|
|
||||||
PrivateKey: testPrivateKey,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
@@ -84,11 +98,8 @@ func main() {
|
|||||||
|
|
||||||
stats := listeners.NewHTTPStats("stats", ":8080")
|
stats := listeners.NewHTTPStats("stats", ":8080")
|
||||||
err = server.AddListener(stats, &listeners.Config{
|
err = server.AddListener(stats, &listeners.Config{
|
||||||
Auth: new(auth.Allow),
|
Auth: new(auth.Allow),
|
||||||
TLS: &listeners.TLS{
|
TLSConfig: tlsConfig,
|
||||||
Certificate: testCertificate,
|
|
||||||
PrivateKey: testPrivateKey,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
|
Reference in New Issue
Block a user