Maison > Article > développement back-end > Comment définir https dans Golang
Avec le développement d'Internet, HTTPS est devenu un élément important des applications Web modernes. Il peut non seulement garantir la transmission sécurisée des données, mais également améliorer la sécurité et la fiabilité des pages Web, ce qui est très important pour toute application Web. Golang est un langage de programmation devenu très populaire ces dernières années et sa bibliothèque réseau intégrée peut facilement prendre en charge HTTPS.
Alors, comment configurer HTTPS dans Golang ?
1. Générer un certificat et une clé
Tout d'abord, nous devons générer un certificat SSL et des fichiers de clé. Vous pouvez utiliser l'outil OpenSSL pour le générer. La commande spécifique est la suivante :
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
Cette commande générera un RSA d'une durée de validité de 365 jours Certificat de type de chiffrement et fichiers de clé privée key.pem et cert.pem.
2. Écrivez du code
Dans Golang, la configuration de HTTPS à l'aide de TLS (Transport Layer Security) est très simple. Voici un exemple de code, comprenant le serveur et le client :
package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, HTTPS!") } func main() { http.HandleFunc("/", handler) server := &http.Server{ Addr: ":8080", } err := server.ListenAndServeTLS("cert.pem", "key.pem") if err != nil { log.Fatal("ListenAndServeTLS: ", err) } }
Dans cet exemple de code, nous définissons d'abord un processeur HTTP pour gérer les requêtes HTTP. Ensuite, nous définissons un serveur HTTP et son adresse d'écoute. En définissant le premier paramètre de la méthode ListenAndServeTLS() sur le chemin du fichier de certificat et le deuxième paramètre sur le chemin du fichier de clé, nous indiquons à Golang que nous souhaitons écouter les connexions HTTPS au lieu des connexions HTTP.
Pour les connexions clients, il vous suffit de préciser l'URL commençant par https:// :
package main import ( "fmt" "log" "net/http" ) func main() { response, err := http.Get("https://localhost:8080/") if err != nil { log.Fatal("Get: ", err) } defer response.Body.Close() body, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatal("ReadAll: ", err) } fmt.Println(string(body)) }
Dans cet exemple de code, nous utilisons la méthode http.Get() pour obtenir le contenu de http://localhost:8080/ Depuis, nous avons configuré le certificat SSL et la clé et obtenons réellement le contenu de https://localhost:8080/.
3. Notes
Lorsque vous utilisez Golang pour configurer HTTPS, vous devez faire attention aux points suivants :
Résumé
Grâce à l'introduction de cet article, je pense que vous comprenez déjà comment configurer HTTPS dans Golang. Lorsque nous devons envoyer des données vers l’extérieur, la confidentialité et l’intégrité des données sont très importantes, et HTTPS est la technologie qui peut garantir ces deux aspects. Par conséquent, que vous créiez une application Web ou développiez des connexions réseau, la configuration de HTTPS avec Golang est un choix judicieux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!