Security

為什麼Django的開發伺服器預設使用8000埠?

  • June 15, 2012

(我的問題不是關於 Django。它是關於替代 http 埠的。我只是碰巧知道 Django 是一個相對著名的應用程序,預設使用 8000,所以它是說明性的。)

我有一個開發伺服器,我們偶爾需要在不同的埠上執行多個 httpd 服務。當我需要啟動第三項服務並且我們已經在使用埠 80 和 8080 時,我發現我們的安全團隊已經鎖定了來自 Internet 的埠 8000 訪問。我承認埠 80 是標準的 http 埠,而 8080 通常是 http_alt,但我想向我們的安全團隊證明也打開 8000。為了說明這種情況,我希望這個問題的答案可以為我在某些情況下使用埠 8000 而不是 8080 提供一個合理的論據。

還是只是一個沒有意義的隨機選擇?

不使用 80 的原因是您需要 root 才能使用 1024 以下的任何埠,因為這些是特權埠。現在您可以通過執行在另一個埠啟動開發伺服器

python manage.py runserver 0.0.0.0:8080

這會將開發伺服器綁定到埠 8080 上的所有 ip。通常選擇 8000 只是將 2 個 0 添加到正常的 http 埠。此外,由於 8080 也很受歡迎並且可能已經在使用中。

引用自:https://serverfault.com/questions/399182