欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

用golang來實(shí)現(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())
	}
}

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

那么如何用golang來實(shí)現(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。

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

相關(guān)文章

  • golang文件內(nèi)容覆蓋問題的分析及解決

    golang文件內(nèi)容覆蓋問題的分析及解決

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

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

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

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

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

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

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

    Go官方工具鏈用法詳解

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

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

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

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

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

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

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

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

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

    golang組件swagger生成接口文檔實(shí)踐示例

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

最新評論