我的networking服务器支持以下两个子域名:
我想创build我的nginxconfiguration,以便:
我找不到解决此问题的任何解决scheme。 任何人都可以帮助我正确的nginxconfiguration。
首先,您应该了解,如果您的SSL证书不支持something.example.com则无法从https://something.example.com到https://www.example.com进行“透明”httpsredirectsomething.example.com域名。 它会显示Your connection is not secure错误或类似的,当访问。 但是,您应该可以http://*.example.com地从http://*.example.comredirect到https://www.example.com 。 为此,请在nginx.conf顶部添加以下内容:
server { listen 80; default_server; server_name _; return 301 https://www.example.com$request_uri; }
它应该将任何请求redirect到您的IP到https://www.example.com
然后我们添加特定redirect的configuration。 这个http://en.example.com – > https://en.example.com :
server { listen 80; server_name en.example.com; return 301 https://en.example.com$request_uri; }
这个http://www.example.com – > https://www.example.com :
server { listen 80; server_name www.example.com; return 301 https://www.example.com$request_uri; }
最后,我们为通过SSL提供所需内容的“真实”域添加configuration。 这个http://www.example.com :
server { listen 443 ssl; ssl_certificate /etc/ssl/www.example.com.crt; ssl_certificate_key /etc/ssl/www.example.com.key; server_name www.example.com; <your www.example.com server config here> ... </your www.example.com server config here> }
这个http://en.example.com :
server { listen 443 ssl; ssl_certificate /etc/ssl/en.example.com.crt; ssl_certificate_key /etc/ssl/en.example.com.key; server_name en.example.com; <your en.example.com server config here> ... </your en.example.com server config here> }