從本地伺服器將網站發佈到網路上時出現問題

從本地伺服器將網站發佈到網路上時出現問題

我在辦公室的 Linux 伺服器 Centos 7 上有一個網站主機,我想將網站發佈到互聯網,我有一個網域名稱(training.gbc-engineers.com)並將 A 記錄指向我的發布 WAN IP 位址,我已經防火牆上的設定可開啟此Linux 伺服器的所有連接埠。但在我的本地網路中,網站的另一個名稱是moodle.gbcvn2.local(本地網域),現在當我嘗試輸入training.gbc-engineers.com時,它總是直接到moodle.gbcvn2.local,甚至無法從外部訪問網站我使用 WAN IP 仍然直接連接到該位址。已經嘗試從 4G(本地網路之外),另一個網路...仍然發出相同的訊息。

我有 2 個虛擬主機文件

文件一:

<VirtualHost *:80>

        ServerAdmin [email protected]
        ServerName moodle.gbcvn2.local
        DocumentRoot /var/www/moodle

        ErrorLog "/var/log/httpd/moodle.error.log"
        CustomLog "/var/log/httpd/moodle.log" combined

        <Directory> /var/www/moodle>
                AllowOverride None
                Require all granted
        </Directory>

</VirtualHost>

文件2:

<VirtualHost *:80 >

        ServerAdmin [email protected]
        ServerName training.gbc-engineers.com
        DocumentRoot /var/www/moodle

        ErrorLog "/var/log/httpd/moodle.error.log"
        CustomLog "/var/log/httpd/moodle.log" combined

        <Directory> /var/www/moodle>
                AllowOverride None
                Require all granted
        </Directory>

</VirtualHost>

即使我刪除了文件 1,它仍然不起作用。我的本地網域是 gbcvn2.local,gbc-engineers.com 是從提供者購買的

答案1

Moodle 僅支援託管於一次域。必須按照您所發現的方式配置網域config.php,並且 Web 應用程式本身始終會將您的瀏覽器重新導向到它認為正確的網域。

網域也必須在資料庫本身中更新,因為 Moodle 頁面中的連結使用完整的 URL(包含舊網域) - 請參閱Moodle遷移文章,特別是關於的部分資料庫更新,了解如何執行此操作的說明。


如果伺服器有私有位址,但您的第二個網域指向路由器的 WAN 位址,通常只能連接到 WAN 位址從外面區域網路的。這是由於 NAT 在同一子網內工作(或更確切地說,不能工作)的方式造成的。

為了避免這種情況,您需要一個「分割 DNS」系統,其中相同網域解析為 LAN 內部/外部的不同位址,或者您的路由器需要「NAT 髮夾」/「NAT 環回」功能。

相關內容