Apache-2.4

Apache 通過相同的域名使站點可用於 Intranet 和 Internet

  • March 3, 2022

這可能是一個愚蠢的問題,但我似乎無法找到解決方案。

以下場景: https ://sub.doma.in:443託管在我家中的 Apache 伺服器上。從外部連接時效果很好。從我的電腦上的同一網路連接時也很有效。但是,我的手機無法從同一網路連接 (ERR_CONNECTION_TIMED_OUT)。所以一定有什麼地方不對勁。

我想要:要與 sub.doma.in 建立任何連接,請通過 Internet 訪問我的託管站點。我認為這就是目前的情況,但它不適用於所有設備。

或者(最好):要從 Intranet 連接到 sub.doma.in,直接連接到內部 IP,而無需先路由到外部。

每個人都應該總是在同一個站點結束,無論他們從哪裡連接。

防火牆允許來自任何地方的 80 和 443,路由器僅打開埠 443。如果您需要任何配置文件或日誌,請告訴我。很感謝任何形式的幫助!:)

我目前的網站虛擬主機如下所示:

<VirtualHost *:80>

   ServerName sub.doma.in

   Alias /.well-known/acme-challenge/ /usr/share/webapps/acme

   RewriteEngine on
   RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
   RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

</VirtualHost>

<VirtualHost *:443>

   ServerName sub.doma.in

   SSLEngine on
   SSLCertificateFile xxx
   SSLCertificateKeyFile xxx
   Include xxx

       Protocols h2 http/1.1

       Header always set Strict-Transport-Security "max-age=63072000"

   CustomLog "xxx" common

   DocumentRoot xxx
   DirectoryIndex index.php index.html

   <Directory xxx>
       Require all granted
               AllowOverride All
               Options FollowSymLinks MultiViews
   </Directory>

   <IfModule mod_dav.c>
       Dav off
   </IfModule>

   <FilesMatch \.php$>
       SetHandler "proxy:unix:xxx|fcgi://localhost/"
   </FilesMatch>

</VirtualHost>

事實證明,這與伺服器目前連接的 WiFi 有關。如果它在 2.4GHz 網路上,2.4GHz 網路上的其他設備無法連接,但 LAN 和 5GHz 工作。反之亦然。所以估計是路由器的問題。我最終設置了 dnsmasq 並將網站的 IP 設置為本地的內部地址。現在它正在工作。

當您在網路之外時,您是否使用同一部手機訪問該網站?錯誤只發生在這一部手機上嗎?以下是一些可能的原因: 最簡單的原因:可能是您手機的記憶體問題。最好的方法是簡單地用Google搜尋如何清除您的 DNS 記憶體。

您確定通過 https 連接到您的手機嗎?Http 將無法工作,因為路由器中未打開埠 80。

您的 DNS 是否與您的域提供商正確配置?最好使用 DNS 檢查器進行測試(也只需 google 即可)

我能想到的另一個問題是您的家庭網路中有一個廣告攔截器可以阻止此頁面。像 Pi Hole 之類的東西…有些人現在已經有了,類似的東西可能會導致問題。我希望我能幫上忙。

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