跳到主要內容

解決登入網站時卻是跑到ADSL Router MODEM 的主頁的問題的方法

一般來說, 如果設定了 abc.com, IP 是自家網路的IP, 那麼在家登入abc.com 時, 卻出現ADSL Router MODEM 的主頁, 如果使用另一個網路登入abc.com, 會直接登入到想要登入的網站(伺服器是架設在家裡).

這是因為在家/跟IP 一樣的網路 登入網站時, IP 是比方說: 60.52.33.55.  可是這60.52.33.55 這IP 的網路正是自己使用中的網路的IP, 因此ADSL Router MODEM 認為這IP 是MODEM 的(倘若MODEM 的區域網路IP 是192.168.1.1, 那麼60.52.33.55 也就是 192.168.1.1 的化身, 這自然就是去到Router MODEM 的主頁).

當我們登入abc.com 時, 是從自己的電腦->ADSL Router MODEM->網際網路尋找 abc.com 的IP, 取得60.52.33.55 -> 回到ADSL Router MODEM -> 電腦 -> ADSL Router MODEM

然而這問題不難解決:
  1. 在自家的伺服器設定DNS, 指定www.abc.com 的IP 是區域網路的IP, 比如: 192.168.1.5

  2. 倘若有用Firewall, 則加入新規則, 允許UDP 與 TCP 的Port 53

  3. 在ADSL Router MODEM 那, Preferred DNS 是192.168.1.5, Alternate DNS 是原本的Preferred DNS (也就是ISP 的DNS).  如此一來, 當我在區域網路內登入 www.abc.com, 就會直接到正確的網站 (也就是架設在192.168.1.5 伺服器內的網站), 當我在另一個網路/在公司登入www.abc.com, 也是到正確的網站.

  4. 如果不想在ADSL Router MODEM 那設定, 也可以在自己電腦內的TCP/IP 那設定, 效果一樣.  如下圖所示





  5. (步驟3 之後) 如此一來, 當我們登入abc.com 時, 就會變成是從自己的電腦->ADSL Router MODEM->先去192.168.1.5 尋找, 找不到的話才到網際網路尋找 abc.com 的IP.  因此也就取得192.168.1.3, 也就是該網站的區域網路IP -> 回到ADSL Router MODEM -> 電腦 -> 192.168.1.3 (www.abc.com).

  6. 或者(步驟4);  當我們登入abc.com 時, 就會變成是從自己的電腦->192.168.1.5 尋找, 找不到的話才到網際網路(也就是去ISP 的DNS 202.188.0.133) 尋找 abc.com 的IP -> 192.168.1.3 (www.abc.com)

留言

這個網誌中的熱門文章

解決Apache 2.2, 關於HTTPS 之下使用PROXY 面對的 proxy server received an invalid response from an upstream server 以及 proxy: pass request body failed 的問題

修改以下 (proxy 以及 從proxy 接收的server): httpd.conf: ----------- 在 Include conf.d/*.conf 的前面加入以下: LimitRequestBody 2147483647  #2Gb Timeout 24000 ProxyTimeout 24000 ProxyBadHeader Ignore ssl.conf ---------- 在各個virtualhost 裡加入以下:     SSLEngine on     SSLProxyEngine on     SSLProxyVerify none     SSLProxyCheckPeerCN off     #SSLProxyCheckPeerName off     SSLProxyProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 以下這個只在proxy server 裡的virtualhost 設定     ProxyPass / https://REMOTE_HOST:443/ retry=1 acquire=3000 timeout=3600 Keepalive=On 

解決CentOS 8 的 failed to set locale defaulting to c.utf-8 的問題

這原因是沒有安裝好支援的語言與字型, 特別是UTF8 並沒有被安裝到 因此使用以下指令確認 localedef -i en_US -f UTF-8 en_US.UTF-8 假如出現 "[error] character map file `UTF-8' not found: No such file or directory" 或者 [error] default character map file 'ANSI_X3.4-1968' not found : No such file or directory 那就安裝UTF8 吧 yum whatprovides "*/UTF-8.gz" 如果找到的話 "UTF-8.gz" 的話 yum install "*/UTF-8.gz" -y 再執行一次: localedef -i en_US -f UTF-8 en_US.UTF-8