亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Golang實現(xiàn)http重定向https

 更新時間:2022年07月13日 15:35:32   作者:taadis  
這篇文章介紹了Golang實現(xiàn)http重定向https的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

用golang來實現(xiàn)的webserver通常是是這樣的

//main.go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func defaultHandler(w http.ResponseWriter, r *http.Request) {
	io.WriteString(w, "<h1>Golang HTTP</h1>")
}

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/", defaultHandler)
	err := http.ListenAndServe(":80", mux)
	if err != nil {
		fmt.Println(err.Error())
	}
}

服務運行后,我們通常通過http://localhost的形式來訪問,
而我們要實現(xiàn)的是通過https://localhost的形式來訪問.

那么如何用golang來實現(xiàn)HTTPS呢?

//main.go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func defaultHandler(w http.ResponseWriter, r *http.Request) {
	io.WriteString(w, "<h1>Golang HTTPS</h1>")
}

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/", defaultHandler)
	certFile := "/etc/letsencrypt/live/www.taadis.com/cert.pem"
	keyFile := "/etc/letsencrypt/live/www.taadis.com/privkey.pem"
	err := http.ListenAndServeTLS(":443", certFile, keyFile, mux)
	if err != nil {
		fmt.Println(err.Error())
	}
}

源碼比較簡單,主要是把http.ListenAndServe()替換成ListenAndServeTLS()。其次注意下端口號的區(qū)別,還有就是CA證書的問題,這里我采用了Let's Encrypt

到此這篇關于Golang實現(xiàn)http重定向https的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • golang文件內容覆蓋問題的分析及解決

    golang文件內容覆蓋問題的分析及解決

    通過golang讀取數(shù)據(jù)庫站點映射配置,生成nginx conf文件,并檢查和重啟nginx服務,已達到站點自動化部署目的,當目標文件中內容很長,而寫入的內容很短時,目標文件內容無法完全覆蓋,本文給大家介紹了解決方法,需要的朋友可以參考下
    2024-01-01
  • Golang?中的json.Marshal問題總結(推薦)

    Golang?中的json.Marshal問題總結(推薦)

    這篇文章主要介紹了Golang中的json.Marshal問題總結,本文通過一個例子給大家詳細講解,本次提出的問題中,我們不難注意到其中的time.Time是一個匿名(Anonymous)字段,而這個就是答案的由來,需要的朋友可以參考下
    2022-06-06
  • GO語言基本數(shù)據(jù)類型總結

    GO語言基本數(shù)據(jù)類型總結

    這篇文章主要介紹了GO語言基本數(shù)據(jù)類型,較為詳細的總結了GO語言的基本數(shù)據(jù)類型,對于GO語言的學習有一定的借鑒參考價值,需要的朋友可以參考下
    2014-12-12
  • Go語言實現(xiàn)猜數(shù)字小游戲

    Go語言實現(xiàn)猜數(shù)字小游戲

    這篇文章主要為大家詳細介紹了Go語言實現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Go官方工具鏈用法詳解

    Go官方工具鏈用法詳解

    Go官方工具鏈工具要求所有的Go源代碼文件必須以.go后綴結尾。這里,我們假設一個最簡單的Go程序放在hello.go的文件中,下面通過示例代碼給大家介紹Go官方工具鏈用法簡介,需要的朋友可以參考下
    2021-10-10
  • 從并發(fā)到并行解析Go語言中的sync.WaitGroup

    從并發(fā)到并行解析Go語言中的sync.WaitGroup

    Go?語言提供了許多工具和機制來實現(xiàn)并發(fā)編程,其中之一就是?sync.WaitGroup。本文就來深入討論?sync.WaitGroup,探索其工作原理和在實際應用中的使用方法吧
    2023-05-05
  • Go語言實現(xiàn)猜謎小游戲

    Go語言實現(xiàn)猜謎小游戲

    這篇文章主要為大家介紹了Go語言實現(xiàn)猜謎小游戲示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 解析Golang和Java的優(yōu)勢與劣勢

    解析Golang和Java的優(yōu)勢與劣勢

    Golang和Java是兩種流行的編程語言,它們在很多方面有著相似之處,但也存在一些重要的區(qū)別,本文將對Golang和Java進行對比,探討它們的特點和適用場景,需要的朋友可以參考下
    2023-10-10
  • 基于Go語言實現(xiàn)類似tree命令的小程序

    基于Go語言實現(xiàn)類似tree命令的小程序

    tree?命令是一個小型的跨平臺命令行程序,用于遞歸地以樹狀格式列出或顯示目錄的內容。本文將通過Go語言實現(xiàn)類似tree命令的小程序,需要的可以參考一下
    2022-10-10
  • golang組件swagger生成接口文檔實踐示例

    golang組件swagger生成接口文檔實踐示例

    這篇文章主要為大家介紹了golang組件swagger生成接口文檔實踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04

最新評論