亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么應用程序引擎忽略 app.yaml 中的 PORT 環境變量

為什么應用程序引擎忽略 app.yaml 中的 PORT 環境變量

Go
繁星淼淼 2023-07-17 16:42:19
我正在嘗試從 Go 1.9 遷移到 Go 1.11。我從遷移文檔中復制了main函數這是我的 app.yamlruntime: go111env: standardinstance_class: F1handlers:? - url: /.*? ? script: auto? ? secure: always? ? redirect_http_response_code: '301'? - url: .*? ? script: autoenv_variables:? PORT: '443'這是我的主要功能func main() {? ? http.HandleFunc("/demo", demoHandler)? ? port := os.Getenv("PORT")? ? if port == "" {? ? ? ? ? ? port = "443"? ? ? ? ? ? syslog.Printf("Defaulting to port %s", port)? ? }? ? syslog.Printf("Listening on port %s", port)? ? syslog.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))}我的應用程序需要使用 HTTPS 在端口 443 上運行。但是,部署后,應用程序沒有響應。我檢查了日志,它顯示“正在偵聽端口 8081”。我不明白為什么需要8081而不是443。這個8081是哪里來的?如果我對 main 函數進行硬編碼以使用端口 443。它會在日志中顯示“應用程序正在偵聽端口 443,它應該偵聽 PORT 環境變量定義的端口。因此,nginx 無法啟動。性能可能會降級。請監聽 PORT 環境變量定義的端口。”我在這里想念什么?
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

環境PORT變量將由 AppEngine 平臺設置,您不必在app.yaml配置文件中設置它。事實上,你甚至無法覆蓋它。

查看運行時設置的環境變量列表。

PORT因此,只需像在 Go 代碼中一樣使用環境變量,但將其從app.yaml配置中刪除。您只需啟動一個非 HTTPS Web 服務器,平臺就會為您提供 HTTPS 支持。


查看完整回答
反對 回復 2023-07-17
  • 1 回答
  • 0 關注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號