Linux
僅當客戶端連接到特定子域時才允許訪問 xinetd 服務
這個問題是關於執行 CentOS 5.4 的專用伺服器。如果需要,我可以以 root 身份連接到更複雜的配置任務。
我正在寫作是因為我已經設置了 svnserve 來使用 xinetd 處理請求。這工作得很好,我很樂意毫無問題地送出和簽出。
該伺服器還託管了一些其他域,我可以通過它們中的任何一個連接到 svnserve,因為它們都共享相同的 IP。儲存庫已使用 svnserve 的身份驗證措施得到保護,所以這沒什麼大不了的,但是:
**當客戶端通過 sub.mydomain.com 訪問它時,是否可以只允許連接到 svnserve?**我已經搜尋了 xinetd 和 TCP_wrappers 的文件以尋找解決方案,但還沒有。
(我知道一種選擇是使用 DAV svn 而不是 svnserve,但我遵循了幾個教程來執行它並且每次都失敗。使用 svnserve 的解決方案會更可取,因為它實際上對我來說工作得很好。)
謝謝您的幫助!
Xinetd 呼叫伺服器(在您的情況下為 svnserve),但不訪問它們管理的數據。由於這個原因,xinetd 可以過濾傳入的地址 (
only_from
),但不能過濾請求的域,因為請求的域不會通知 xinetd,而是傳遞給伺服器。如建議的那樣,您可能希望為此服務使用專用 IP 地址,以便僅將服務綁定到此地址(使用
bind
參數)。
你怎麼知道他們申請的是什麼域名?您可以使用 DAV 執行此操作的原因是因為它將在 apache(或其他 Web 伺服器)下執行。Web 伺服器具有虛擬主機的概念。Svnserve 沒有。您必須使用 DAV 才能獲得此功能。