Nginx
如何通過 DDNS 轉發 www 子域並使用域的證書?- Ubuntu Nginx 讓我們加密 DDNS
我想我錯過了一些簡單的東西,但我就是看不到它。
我在執行 Ubuntu 20.04 版本 2 的家用機器上執行最新的 Nginx。我將 pfsense 作為我的路由器/防火牆在另一台機器上執行。我已經設置了一個 DDNS (
$$ my_name $$.ddns.net) 條目指向我不斷變化的 WAN IP 地址。 我有一個域名“
$$ my_name $$.net”。我已經能夠在我的 Ubuntu/Nginx 機器上為兩個域創建一個 Let’s Encrypt 證書:$$ my_name $$.net 和$$ my_name $$.ddns.net. 我創建了一個 CNAME 記錄映射“www”到“
$$ my_name $$.ddns.net”在託管我的域的網站上。 當我訪問 https://
$$ my_name $$.ddns.net,網站完美執行。 當我訪問 https://www.
$$ my_name $$.net,該網站出現證書警告,因為它正在為 https:// 提取證書$$ my_name $$.ddns.net. www 的 nginx 配置。
$$ my_name $$.net 網站是:
server { listen 80; root /var/www/html; index index.html server_name www.[my_name].net; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } } server { root /var/www/html; index index.html server_name www.[my_name].net; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } listen 443 ssl; ssl_certificate /etc/letsencrypt/live/www.[my_name].net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.[my_name].net/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; }
我必須做些什麼才能讓 Nginx 將重定向的 URL “看到”為 www。$$ my_name $$.net 而不是$$ my_name $$.ddns.net?
謝謝一堆。
您需要使用所有名稱創建您的 Let’s Encrypt 證書。