Virtualhost

反向代理伺服器和虛擬主機有什麼區別?

  • January 10, 2019

如果這是一個愚蠢的問題,我很抱歉。我對後端的東西很陌生。

我正在嘗試在我之前設置 NextCloud 和 Wikimedia 伺服器的伺服器上設置 Rocket Chat 伺服器。

火箭聊天文件說我需要設置一個反向伺服器代理來將傳入流量路由到火箭聊天伺服器。我在他們的論壇上詢問了我遇到的一個問題,有人告訴我我需要設置一個虛擬主機(我也隱約記得為 nextcloud 和 wikimedia 做過)。但是當我查找設置虛擬主機時,它看起來就像設置反向伺服器代理一樣。我是不是誤會了什麼?兩者有什麼區別?

這是描述設置反向伺服器代理的相關 RocketChat 文件:https ://rocket.chat/docs/installation/manual-installation/configuring-ssl-reverse-proxy/

這是一個關於設置虛擬主機的頁面:https ://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-16- 04

在這兩種情況下,我都將配置文件添加到啟用站點的文件夾中,告訴傳入流量如何委派傳入資訊,對嗎?如果我理解正確?

**編輯:**我以什麼方式請求學習材料?我不是,我在問一個關於具體區別的具體問題。在堆棧交換中存在大量這樣的問題。範例: https ://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter

https://stackoverflow.com/questions/2685413/what-is-the-difference-between-a-segmentation-fault-and-a-stack-overflow

理解虛擬主機和代理之間的區別並不難。

虛擬主機定義和分隔特定域名的配置,這樣您就可以在同一個 http 伺服器上託管多個 Web 服務(使用 http,因為它是通用的)

相反,代理是一種配置,它指示 http 伺服器獲取某個域名或 url,http 服務不是本地的,而是由遠端或另一個 httpd 伺服器提供服務。

通常,您將在虛擬主機中設置代理配置。

使用內嵌註釋更新添加範例

這是在埠 80 上的所有介面上監聽的 Vhost 的定義:

<VirtualHost *:80>

此 Vhost 將回答的域名:

   ServerName exampledomainA.it

域名的別名:

   ServerAlias www.exampledomainA.it

本地路徑定義此程式碼將在您訪問http://exapmledomainA.it時執行

   DocumentRoot /var/www/html

代理定義,告訴網路伺服器將對 exampledomainA.it/phpmyadmin 的請求轉發到http://www_phpmyadmin/

   ProxyPass "/phpmyadmin" "http://www_phpmyadmin/"
   ProxyPassReverse "/phpmyadmin"  "http://www_phpmyadmin/"

代理定義,告訴 Web 伺服器將對 exampledomainA.it/blog 的請求轉發到http://www_domainA/

   ProxyPass "/blog"   "http://www_domainA/"
   ProxyPassReverse "/blog"    "http://www_domainA/"

其他代理定義:

   ProxyRequests Off
   ProxyPreserveHost On
   RewriteEngine on

虛擬主機結束

</VirtualHost>

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