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

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

使用 Golang 在 Nginx 后面運(yùn)行的 GRPC 服務(wù)的 TLS

使用 Golang 在 Nginx 后面運(yùn)行的 GRPC 服務(wù)的 TLS

Go
梵蒂岡之花 2023-05-15 10:22:31
我有一個(gè) flutter 應(yīng)用程序(基于 dart)和一個(gè)使用 GRPC 的 GoLang 服務(wù)器。我想保護(hù)它,所以我嘗試設(shè)置Ngninx(certbot我是新手),但是機(jī)器人需要一個(gè)挑戰(zhàn),它連接到 Web 服務(wù)(對(duì)于域)以獲得 http 響應(yīng),而我的服務(wù)沒(méi)有給??梢栽谕欢丝谏贤瑫r(shí)運(yùn)行 GRPC 和 HTTP 服務(wù)器,但我不明白如何設(shè)置Nginx。然后我嘗試使用 acme 為我的服務(wù)本身設(shè)置 TLS,autocert但使用 acme 需要相同的 Web 服務(wù)響應(yīng),否則我必須提供手動(dòng)證書并跳過(guò)目前在 dart 中不可用的不安全驗(yàn)證(只有兩個(gè)選項(xiàng)可用secure和insecure). 在本地進(jìn)行測(cè)試autocert也無(wú)濟(jì)于事,因?yàn)樗踔敛粫?huì)創(chuàng)建本地證書(至少對(duì)我而言)。我還閱讀了有關(guān)需要 DNS TXT 記錄的 DNS 質(zhì)詢,但我不確定它是否會(huì)要求我在每次續(xù)訂時(shí)都提供新的 TXT 記錄。無(wú)論如何,我對(duì)如何推進(jìn)這一點(diǎn)感到很困惑。我將 GRPC 連接到實(shí)際的移動(dòng)應(yīng)用程序,但在任何地方都找不到很多與此相關(guān)的教程或問(wèn)題。我的 GoLang 服務(wù)器還與其他內(nèi)部微服務(wù)交互,因此使其支持 TLS 也意味著重新部署啟用安全標(biāo)志的所有其他服務(wù)。任何關(guān)于我應(yīng)該如何保護(hù)我的 GRPC 連接到應(yīng)用程序的幫助,都會(huì)很棒!
查看完整描述

1 回答

?
繁花不似錦

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

只是發(fā)布我最終為我的設(shè)置所做的事情。Nginx確實(shí)支持 1.3.10+ 版本的 GRPC,但需要大量手動(dòng)工作和 cron 作業(yè)來(lái)自動(dòng)更新證書,并且它缺少操作方法文檔。

簡(jiǎn)而言之,Traefik 允許更簡(jiǎn)單的設(shè)置和非常詳細(xì)的 GRPC 文檔來(lái)開始。另一個(gè)優(yōu)點(diǎn)是它在 docker 本身內(nèi)部運(yùn)行,因此可以輕松地在我的 mac 上測(cè)試我在服務(wù)器上部署的相同版本。它提供了自動(dòng)證書續(xù)訂和 DNS 質(zhì)詢,我可以輕松驗(yàn)證域。

TOML反向代理端 TLS 終止的示例文件,用于 GRPC 和普通 REST 服務(wù),支持http(對(duì)于較舊的應(yīng)用程序) &?https.

defaultEntryPoints = ["http", "https"]

logLevel = "INFO"

[traefikLog]

[accessLog]

? filePath = "/var/log/access.log"

? format = "json"

[entryPoints]

? [entryPoints.http]

? address = ":80"

? [entryPoints.https]

? address = ":443"

? ? [entryPoints.https.tls]

[api]

[file]

[acme]

email = "admin@example.com"

storage = "acme.json"

entryPoint = "https"

acmeLogging = true

? [acme.dnsChallenge]

? ? provider = "gcloud"

? [[acme.domains]]

? ? main = "*.example.com"

? ? sans = ["www.example.com"]

[backends]

? [backends.foo]

? ? [backends.foo.servers.server1]

? ? url = "h2c://127.0.0.1:3000"

? [backends.bar]

? ? [backends.bar.servers.server1]

? ? url = "http://127.0.0.1:3001"

[frontends]

? [frontends.foo]

? backend = "foo"

? ? [frontends.foo.routes.server1]

? ? rule = "Host:foo.example.com"

? passHostHeader = true

? passTLSCert = false

? [frontends.bar]

? backend = "bar"

? ? [frontends.bar.routes.server1]

? ? rule = "Host:bar.example.com"

? passHostHeader = true

? passTLSCert = false

唯一的問(wèn)題是弄清楚提供商 ( dnsChallenge) 的 Google Cloud 設(shè)置,如果是第一次這樣做,很難找到和設(shè)置!


查看完整回答
反對(duì) 回復(fù) 2023-05-15
  • 1 回答
  • 0 關(guān)注
  • 244 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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