日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

這兩天在寫 go 項目, 一個 HTTP 服務器. 之前寫的是 php 項目, Nginx 監(jiān)聽80端口, 根據域名將請求分配給不同項目. 現在換了 go, 自然也想延續(xù)這個操作, 畢竟都是跑在同一臺服務器上. 那么問題來了, 我的nginx 監(jiān)聽80端口的同時, go 服務器是無法同樣監(jiān)聽80端口的. 這該如何是好啊, 給我整的一臉懵逼.

nginx 轉發(fā) go 服務

不過想了一下, 發(fā)現自己進入了思維誤區(qū). 為什么都要監(jiān)聽80端口呢? go 服務監(jiān)聽其他端口, 然后 nginx 將請求進行端口的轉發(fā)不就可以了么. 真是個傻子. 搜了一下 nginx 的配置, 確實有端口轉發(fā)的配置. 如下:

#配置負載均衡池
upstream test_go_pool{
    server 127.0.0.1:8090;
}

#Demo2端口轉發(fā)
server {
    listen       80;
    server_name  test.go.com;
    error_log /var/log/nginx/test_go.error.log;
	  access_log /var/log/nginx/test_go.access.log;
    
    #將所有請求轉發(fā)給均衡池的應用處理
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://test_go_pool;
    }
}

到這里, 如果 go 服務已經啟動了, 應該就沒有問題了. (如果是線上, go 服務的端口不用對外開放, 僅供內部 nginx 訪問即可)

Docker 訪問宿主網絡

但是我的環(huán)境訪問失敗了. 究其原因, 我的 nginx 是跑在 docker 中的, go 服務是跑在宿主主機上的. 所以在對127.0.0.1回環(huán)地址訪問的時候, 沒有訪問的宿主主機. 解決的方向也很清晰, 只要能夠訪問到宿主主機的網絡就行了.

方案一

最先想到的方案, 就是將127.0.0.1更換成宿主主機的 IP. mac 下執(zhí)行 ifconfig, 可以找到本機的 IP 地址. 將地址更換之后, 就可以了. 但是如果是移動網絡等, IP 經常換的話, 就很難受了.

nginx 端口轉發(fā)

 

方案二

更改網絡鏈接方式. 虛擬機網絡的鏈接方式有: bridge(橋接網絡), host(共用網絡), 以及無網絡.

docker 默認使用的是橋接的形式, 如果換成host, 就沒有訪問不到的問題了.更改之后, 可以直接通過127.0.0.1回環(huán)地址訪問, 就沒有 IP 更換的問題了. 但同時的, host 方式會將虛擬機的所有端口全都與主機共用, 隔離性太差.

方案三

經過一番摸索, 找到了宿主主機的名字: docker.for.mac.host.internal. 將地址更換成這個, docker 會自動映射到宿主主機上.

至此, 我的問題已經解決了. 不過就在我準備收手的時候, 又讓我找到了另外一個.

方案四

方案三的方式, 看名字也知道, 這個映射是針對 mac 的. 如果不是在 mac 上裝的 docker 怎么辦呢?

host.docker.internal

這個DNS 名稱, 可以直接映射到宿主主機. 完美解決. 同時: gateway.docker.internal 是網關的名稱.

結束.... 簡單記錄以下.

分享到:
標簽:端口 轉發(fā) nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定