Nginx的HTTPS 301重定向到另一个TLD(托管在同一服务器上)没有显示出SSL警告
我自己
example.com, .com.au, .net, .net.au, ... (8 in total).
我想所有的这些顶级域名以301的域名重定向到安全.COM域
https://www.example.com
我有工作使用Nginx的所有HTTP请求,但不是所有的HTTPS。
我已经安装了SSL证书https://www.example.com
,这适用于WWW和非www没有任何安全警告(如预期)。
当浏览到说http://example.net
我得到重定向到https://www.example.com
没有安全警告。但是,当浏览到https://example.net
时,我收到可怕的安全警告。
现在,我想这是因为我只拥有该.COM SSL证书和未加为其他顶级域名。另外,所有站点都托管在相同的服务器/ IP地址上,因此将为其他TLD返回证书.com。
所有域的DNS A记录指向我的Nginx服务器的单个IP地址。
从我已阅读和理解的内容来看,我认为我需要为每个我拥有的TLD提供IP地址和SSL证书。这似乎是一个简单的重定向矫枉过正。
是否有任何的Nginx或DNS欺骗我可以使用,以避免对其他(非.COM顶级域名)的标准安全警告 无需掏钱购买更多的IP地址和SSL证书?
我想我最好问智囊我继续和购买所需的全部证书等前
下面是我的Nginx的配置:
server { # redirect/catch all block listen 80; listen 443; server_name _ .example.com .example.com.au .example.net .example.net.au; return 301 https://www.example.com$request_uri; } server { listen 443 ssl default_server; # Secure default server block server_name www.example.com; root /srv/www/example.com/public_html; index index.html index.htm; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; # ... rest of config }
实例配置:
server { listen 443 ssl; server_name www.zh*****tech.cn; ssl_certificate cert/21502*****24.pem; ssl_certificate_key cert/21******0924.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; include /etc/nginx/default.d/*.conf; underscores_in_headers on; location /api/ { proxy_pass http://127.0.0.1:8088/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } server { listen 80; server_name www.***tech.cn; return 301 https://www.z****tech.cn$request_uri; } server { listen 80; server_name ***tech.cn; return 301 https://www.***tech.cn$request_uri; } server { listen 80; listen 443; server_name bi.de******on.cn; return 301 https://www.*****ech.cn$request_uri; }