你好,StackExchange!第一篇關於超級用戶的文章。
我已經在我的電腦上安裝了 apache 和 PHP,當我在電腦上輸入「localhost」時,它運作得很好。但我想要的是,當有人輸入時http://<my ip>:<random port number that isn't used>
我希望它重定向到http://localhost/internet/
.我如何透過連接埠轉送來做到這一點?我需要在 Apache 中配置什麼?
我知道這可能是關於連接埠轉送的問題#87465094,但我在超級用戶或網路的其他地方都沒有看到任何解決我的問題的方法。
修
答案1
首先,您將兩個概念混合成一個想法。
- TCP/IP 連接埠轉送
- HTTP 重新導向
您可以透過將兩者結合起來來實現您想要的目標,但它們是不同的概念。
HTTP 重新導向
所以,我們暫時忽略連接埠轉送。讓我們先設定重定向部分。
$ sudo editor /etc/apache2/sites-available/thews_site
這會為新的設定檔建立一個新的設定檔地點Apache 中的設定。在其中,我們可以放置站點的整個配置。
我們的虛擬主機
讓我們定義您的新 Apache 網站:
NameVirtualHost *:12345
<VirtualHost *:12345>
Redirect / http://www.superuser.com
</VirtualHost>
這將建立一個可以透過任何本地 IP 存取的新站點,但是僅有的在港口12345
。
站點定義本身相當短。它只有 1 個配置條目。重定向到目標網站。
Apache 連接埠配置
我們還需要告訴 Apache 監聽我們的新連接埠!
$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf
Listen 12345
這將在 的末尾添加該行/etc/apache2/ports.conf
。或者,您可以使用文字編輯器自行新增。
現在讓我們啟用該網站
$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart
這會將我們之前定義的網站設定為已啟用。第二個命令將重新啟動 Apache。
測試
如果您http://localhost:12345
現在進入瀏覽器,您應該被重定向到superuser.com
!
轉送連接埠
現在您可以設定轉送連接埠。您可以在路由器上執行此操作。告訴您的路由器將您的公共連接埠轉送到33333
您的本機連接埠12345
。
現在如果有人衝浪your-public-ip:33333
他們被重定向到superuser.com
.
這些範例均適用於基於 Debian 的環境。希望您能夠根據需要調整它們。
祝你好運 :)