Bagaimana untuk menggunakan TLS 1.2 dengan pemacu MySql Go?

WBOY
Lepaskan: 2024-02-10 09:40:09
ke hadapan
712 orang telah melayarinya

如何将 TLS 1.2 与 MySql Go 驱动程序一起使用?

editor php Yuzi akan memperkenalkan anda cara menggunakan TLS 1.2 dengan pemacu MySQL Go dalam artikel ini. TLS 1.2 ialah protokol pengangkutan selamat yang digunakan untuk melindungi keselamatan komunikasi rangkaian. Apabila menggunakan pemacu MySQL Go untuk menyambung ke pangkalan data, mendayakan TLS 1.2 boleh meningkatkan keselamatan penghantaran data. Artikel ini akan memperincikan cara mengkonfigurasi dan menggunakan TLS 1.2 dengan pemacu MySQL Go untuk mewujudkan sambungan pangkalan data yang selamat. Mengikuti panduan artikel ini, anda akan dapat menggunakan TLS 1.2 dengan mudah dengan pemacu MySQL Go untuk melindungi data dan komunikasi anda.

Kandungan soalan

Kami perlu menggunakan tls1.2 untuk menyambung ke pelayan mysql kami. Dalam aplikasi java kami, kami menggunakan url jdbc berikut -

jdbc:mysql://xxxx-001-dev.cluster-xx-2.rds.amazonaws.com/bats?**enabledtlsprotocols=tlsv1.2**
Salin selepas log masuk

Saya tidak dapat mencapai konfigurasi yang serupa apabila menyambung ke mysql dalam aplikasi go kami -

cfg1 := mysql.config{
        user:                 "admin",
        passwd:               "xxxxxxx",
        net:                  "tcp",
        addr:                 "xxxx-001-dev.cluster-xx-2.rds.amazonaws.com:3306",
        dbname:               "xxxx",
        allownativepasswords: true,
    }

    sql.open("mysql", cfg1.formatdsn())
Salin selepas log masuk

Saya cuba menambah pernyataan berikut. Tetapi ia tidak membantu, ia membuang ralat berikut -

// enabledtlsprotocolstlsv1.2
    cfg1 := mysql.config{
        user:                 "admin",
        passwd:               "xxxxxx",
        net:                  "tcp",
        addr:                 "xxxx-001-dev.cluster-xx-2.rds.amazonaws.com:3306",
        dbname:               "xxxx",
        allownativepasswords: true,
    }

    cfg1.tls.minversion = tls.versiontls12
    cfg1.tls.maxversion = tls.versiontls12

    sql.open("mysql", cfg1.formatdsn())
Salin selepas log masuk

Ralat-

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x1 addr=0xf8 pc=0x64ac21]

goroutine 1 [running]:
main.main()
        C:/cmb-mmt/chp-schema-validation/main.go:28 +0x61
Salin selepas log masuk

Kami menggunakan mysql versi 5.7.12

Penyelesaian

Kod di bawah menyelesaikan masalah ini. dan saya berjaya menyambung ke mysql.

cfg1 := mysql.Config{
        User:                 cfg.Db.Dev.User,
        Passwd:               cfg.Db.Dev.Pass,
        Net:                  "tcp",
        Addr:                 "cxx-cxxx-auroramysql-001-dev.xxxxxxxxx.us-west-2.rds.amazonaws.com:3306",
        DBName:               "xxxx",
        AllowNativePasswords: true,
        TLSConfig:            "skip-verify",
        TLS:                  &tls.Config{MinVersion: tls.VersionTLS12, MaxVersion: tls.VersionTLS12},
    }
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menggunakan TLS 1.2 dengan pemacu MySql Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!