我已向另一位開發人員開放了我的開發機器。為了增加安全性,我嘗試在本機 Apache 2.4 Web 伺服器上啟用連接埠轉送。但是,它不會連接到連接埠 80 以外的任何連接埠。例如
因此,我將路由器中的本地端口設置為 5070(可以是任何端口,只是不是 80),並使用 TCP 將“端口範圍”設置為 80,因為它們是從瀏覽器傳入的。然後我將<VirtualHost *:5070>
上述文件的ports.conf (Listen 5070) 檔案和 mysite.conf ( ) 都更改為讀取 5070。
我重新啟動 Apache,但它只是拒絕連接到我的應用程式。如果我把所有東西都放回連接埠 80 就可以了。防火牆關閉或開啟似乎確實很重要。
真正奇怪的一件事是,當我執行 a 時,netstat -tulpn
我得到了這個:tcp6 0 0 :::5079 :::* LISTEN 1702/apache2
我從來沒有規定過tcp6。
知道我缺少什麼嗎?
非常感謝 !
答案1
我認為這裡面有一個輕微的誤解。如果您將連接埠 80 轉送到 apache 連接埠 5070,您仍然可以在連接埠 80 上公開訪問,這是您試圖避免的。您需要扭轉這一局面並在路由器上開啟連接埠 5070。您可以將該連接埠轉送到 apache 的連接埠 80,因為您的 apache 無法直接公開存取。
因此,將連接埠 5070 放入路由器的連接埠範圍內。將 apache 保留在連接埠 80 上,並將 80 作為本機連接埠放入您的 Roter 中。您的朋友透過進入http://your-ip-or-dyndns:5070
瀏覽器與您聯繫。
您可以像以前一樣使用 存取您的 apache http://localhost
。
如果你不希望任何人發現連接埠 5070 開啟來存取你的 apache,我建議將身份驗證放在前面。