Security
Apache2 虛擬主機限制為本地主機
所以這是交易。
我有多個虛擬主機。每個虛擬都是一個單獨的域。每個域用於單獨的應用程序。假設我有虛擬主機:
http:// .abc.com http:// .def.com http://foo.com
然後是一個單獨的應用程序,它是 foo.com 應用程序的 RESTful HTTP api。
我想要實現的本質上是 *.abc.com 和 *.def.com 到 api.foo.com 之間的反向通道通信。這樣 .abc.com、.def.com 和 foo.com 就可以公開訪問(我已經設置好了)。但是訪問 api.foo.com 只有在從同一伺服器請求時才能訪問。
我的標準是:
- 應該向任何試圖瀏覽 api.foo.com 的人提供 404(不拒絕權限)
- 對 api.foo.com 的訪問僅限於 IP 或 IP 範圍
我通過以下方式實現了這一目標:
- 沒有為 api.foo.com 設置 dns 記錄,因此任何嘗試訪問它的人都會收到 404。
- 為 127.0.0.1:80 創建一個基於 ip 的虛擬主機,並將以下規則添加到 /etc/hosts
127.0.0.1 api.foo.com
這完全符合要求。但這是實現私有虛擬主機的正確方法嗎?
聽起來對我來說是一個很好的解決方案。如果您的站點增長,您甚至可以將其擴展到多台伺服器。
一個小提示:客戶端不會收到 404 錯誤,他們的瀏覽器會報告他們找不到主機開始。404 表示瀏覽器與伺服器通信,但伺服器找不到請求的文件。