第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Golang API 的 HTTPS

Golang API 的 HTTPS

Go
慕尼黑的夜晚無繁華 2022-12-05 16:41:43
我是 Golang 的新手,我確實(shí)設(shè)置了一個(gè)“hello world!” 在我們的 VPS 上測(cè)試 Golang API 的消息。它在http://www.example.com:8080/hello上工作得很好。不過,我想轉(zhuǎn)到 HTTPS。有人可以逐步告訴我從 HTTP 到 HTTPS 的 golang API 的正確程序嗎?謝謝!如果 golang 代碼有問題:package mainimport (        "fmt"        "log"        "net/http")func main() {        http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {                fmt.Fprintf(w, "Hello, World")        })        fmt.Println("Server Started On Port 8080")        log.Fatal(http.ListenAndServe(":8080", nil))}
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用 http.ListenAndServeTLS 代替


https://pkg.go.dev/net/http#ListenAndServeTLS


    package main


import (

        "fmt"

        "log"

        "net/http"

)


func main() {

        http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {

                fmt.Fprintf(w, "Hello, World")

        })


        fmt.Println("Server Started On Port 8080")

        err := http.ListenAndServeTLS(":8080", "cert.pem", "key.pem", nil)

        log.Fatal(err)

}


查看完整回答
反對(duì) 回復(fù) 2022-12-05
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

感謝約翰·漢利 (John Hanley) 的支持,導(dǎo)致了這個(gè)答案。首先,我確實(shí)通過編輯 /etc/apache2/ports.conf 為 https 設(shè)置了端口 8443:


Listen 80


<IfModule ssl_module>

        Listen 443

        Listen 8443

</IfModule>

然后我在 example.com 域的配置中添加了一個(gè) VirtualHost,以便端口 8443 充當(dāng)代理:


<VirtualHost *:8443>

        ServerAdmin admin@example.com

        ServerName www.example.com

        ServerAlias example.com


        ProxyRequests Off

        <Proxy *>

                Order deny,allow

                Allow from all

        </Proxy>

        ProxyPass / http://localhost:8080/

        ProxyPassReverse / http://localhost:8080/


        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined


       Include /etc/letsencrypt/options-ssl-apache.conf

       SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem

       SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

</VirtualHost>

并且您需要使用e2enmod proxy和加載模塊 proxy 和 proxy_http e2enmod proxy_http。重新加載 apache 后,可以在https://www.example.com:8443/hello調(diào)用 API 。


查看完整回答
反對(duì) 回復(fù) 2022-12-05
  • 2 回答
  • 0 關(guān)注
  • 103 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)