
我有一個在資料中心運行的 Linux 伺服器,它有一些額外的頻寬和資源。
我想設定一個代理服務,以便我可以透過它路由來自家中的所有 http/https 流量。我知道如何配置瀏覽器以與代理通信,只是不知道如何在伺服器端設定它。我還想進行身份驗證,以便只有我可以使用它
答案1
我最喜歡的方法是使用 ssh/SOCKS 和 SOCKS 隧道。
如果您的 colo'd 伺服器上正在執行 sshd,那麼這就是您所需要的。
使用
ssh -D 9000 yourhost.foo.com
然後調整您的瀏覽器以在 127.0.0.1 連接埠 9000 上使用 SOCKS 代理程式。
對於 Firefox,我喜歡使用 Foxyproxy 來快速更改代理配置。
這是包含更多詳細資訊的 OK 頁面。 SSH 代理詳細信息
答案2
討論有點晚了...
我發現tinyproxy比squid更容易設定且更輕,特別是對於僅供您自己使用的伺服器。
關鍵是您的資料中心伺服器是否運行 sshd。
如果是,那麼這裡使用 ssh 進行連接埠轉送的答案會自動解決授權問題。將tinyproxy設定為綁定到127.0.0.1,並且只有具有ssh存取權限的使用者才能連接到它。
如果不是,那麼您可以將tinyproxy 設定為僅接受來自某些主機或IP 位址的連線。如果您家裡有靜態 IP 位址,問題就解決了。
如果您有動態位址,您可能願意接受來自家庭連線的子部分的連線。例如,您的ISP 將您的家庭連接設定為192-192-192-192-area1-san-fran-cal-usa,您可以將tinyproxy 設定為僅接受來自area1-san-fran-cal-usa 的連接(從而忽略連接的 IP 部分)。風險在於其他區域 1 訂閱者發現您的代理商並開始使用它。
這就是我用於 VPS 代理的方式,它運作良好,特別是因為我位於 ISP 的相對較小的服務區域。我從未讓其他人使用過該代理,但我知道這是一種風險(我願意承擔這一風險——如果我發現其他人在使用它,我可以隨時更改tinyproxy)。
答案3
也許吧,但在這種情況下,使用某種通用解決方案只是也許是不錯的選擇。因此,當有人需要代理服務時,我會盡可能推薦魷魚。原因有很多:文件無處不在,它是基本和更具體請求的通用解決方案,最重要的是,我的經驗表明,具有簡單請求的客戶很快就會成為具有有關代理服務的非常複雜請求的客戶。
答案4
最簡單的方法是透過 SSH 隧道:
ssh -D 8080 yourserver.com
現在您可以將瀏覽器指向 (SOCKS) 代理程式localhost:8080
。
SSH 只會將 8080 綁定到 127.0.0.1(和 ::1),因此其他人無法使用它。
如果您使用的是 Windows,您也可以使用 Putty 來建立此隧道。