
我使用 DigitalOcean 作為我的託管服務,並且在同一個 Droplet 上有多個網域。所有這些網域都使用 Let's Encrypt 進行 SSL 憑證。
您的 DNS 記錄是什麼?
|--------|---------------------------|--------------------------------------------|---------------|
| Type | Hostname | Value | TTL (seconds) |
|--------|---------------------------|--------------------------------------------|---------------|
| NS | example.com | ns1.digitalocean.com. | 1800 |
| NS | example.com | ns2.digitalocean.com. | 1800 |
| NS | example.com | ns3.digitalocean.com. | 1800 |
| A | example.com | 159.xx.xx.60. | 3600 |
| A | www.example.com | 159.xx.xx.60. | 3600 |
| MX | example.com | mailstore1.secureserver.net. | 14400 |
| MX | example.com | smtp.secureserver.net. | 14400 |
| CNAME | 12501762.example.com | sendgrid.net. | 43200 |
| CNAME | url9338.example.com | sendgrid.net. | 43200 |
| CNAME | s2._domainkey.example.com | s2.domainkey.u12501762.wl015.sendgrid.net. | 43200 |
| CNAME | s1._domainkey.example.com | s1.domainkey.u12501762.wl015.sendgrid.net. | 43200 |
| CNAME | em8980.example.com | u12501762.wl013.sendgrid.net. | 43200 |
|--------|---------------------------|--------------------------------------------|---------------|
MX = 允許使用 GoDaddy 信箱(類似電子郵件[電子郵件受保護])。
CNAME = 允許使用 SendGrid。
那我的問題是什麼呢?
如果我在瀏覽器中輸入:example.com,我有一個 404 錯誤,顯示 Apache/2.4.29 (Ubuntu) 伺服器位於 example.com 連接埠 80。
www.example.com,一切正常,並且重定向到 HTTPS 版本。
http://example.com,一切正常,並且重定向到 HTTPS 版本。
https://example.com,一切正常。
所以問題僅出在 example.com 上。
您嘗試過 ping 功能嗎?
是的。我 ping www.example.com 和 example.com,兩者都給了我相同的 IP 位址(我的 IP 位址)。
追蹤路由怎麼樣?
同樣,它為我提供了 www.example.com 和 example.com 相同的資訊。它指向我的伺服器。
我的 .conf 檔案怎麼樣?
這裡是 example.com.conf 檔案:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
這裡是 example.com-le-ssl.conf 檔案:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>
誰能幫我這個 ?
謝謝你的幫忙。