Dns

將所有傳入的 HTTP 請求轉發到基於子域的兩台伺服器之一?

  • February 28, 2016

我有兩台 Debian Jessie 伺服器。一個是我用於個人/愛好的家庭伺服器,另一個是我用於工作的開發伺服器。

為了爭論,讓我們說…

個人:1.1.1.1

發展:1.1.1.2

我有一個域。假設它是example.com. 目前,Personal每隔幾秒鐘呼叫一次動態 DNS 服務來告訴 DDNS 服務(託管我的域。)我的外部 IP 地址是什麼。

從那裡開始,我的路由器設置為將所有請求埠轉發到埠2122803000to Personal

我不想從我的 ISP 購買外部 IP,更不用說為每台伺服器請求兩個 IP。另外,我希望這個設置是半攜帶式的。IE不管它連接到什麼路由器,只要埠是開放的,它就可以工作。

通過一些研究,我認為我的問題的答案是反向代理。我已經安裝PoundPersonal. 但是,我一直找不到與我的情況足夠接近的教程來進行逆向工程,並且發現缺少大量的範例 Pound 配置和一般文件。

這就是我希望發生的事情……

1) 路由器將埠 21、22、80 和 3000 上的埠轉發到Personal這些相同的埠。

2)除非子域是“個人” ,否則Personal我會將所有請求從我的域發送到。Development

在影響這將意味著…

個人.example.com -> 個人 (1.1.1.1)

*.mydomain.com -> 開發 (1.1.1.2)

這可以使用磅來完成嗎?如果是這樣,我會在 Pound 的配置文件中添加什麼?

域名分派僅適用於包含域名的協議,即 HTTP 和(主要是)HTTPS。其他協議(如 FTP、SSH)不包含任何域名,而是客戶端軟體使用 DNS 將給定的域名解析為 IP 地址,然後使用它進行連接。

所以,簡短的回答是“不”。

相反,您可以設置路由以呈現其他不同的外部埠,以路由​​最少使用的主機。例如,使用埠 20021、20022、20080 和 23000

或者,您可以使用隧道解決方案 (VPN) 來允許攜帶式主機訪問本地網路。

編輯:我對您提供的埠列表感到困惑。如果您只對 HTTP 和 HTTPS(通常是埠 80 和 431)感興趣,那麼答案應該是“是”,我的胡言亂語應該被忽略。

引用自:https://unix.stackexchange.com/questions/266231