是什麼阻止 Apache 存取非特權使用者擁有的伺服器?

是什麼阻止 Apache 存取非特權使用者擁有的伺服器?

有一個用 Javascript Node.js 編寫的流行開源應用程序,它在我的常規非特權帳戶下偵聽連接埠 localhost:1234。

從本機連線時,一切正常。然而,我們的想法是讓 WWW 上的任何人都可以使用該服務。

讓 Apache 向該連接埠發送請求的努力失敗了。請參閱下面的虛擬/代理主機配置。請求已通過,但所發生的只是列出目錄內容。連接至http://example.com:1234被忽略。為什麼?

有沒有辦法使該伺服器“合法”或“可信”?

在嘗試以 root 或 Apache 身份運行該伺服器之前,我寧願在這裡搜尋您的專家建議。

#
# Potree Plain Protoserver
#
<Location /potree-1234>
  ProxyPass http://localhost:1234
  ProxyPassReverse http://localhost:1234
</Location>
#

注意:我安裝了一個「Hello, world」伺服器,也基於 Node.js,它可以很好地處理如下 URL:

http://example.com/hello-world

答案1

這非常簡單 - 應用程式被告知僅偵聽環回位址 localhost/127.0.0.1。由於它僅偵聽該位址,因此任何其他介面上的請求將被拒絕。您需要重新設定應用程式以偵聽多個 IP 位址或偵聽所有 IP 位址。

相關內容