在单个 droplet 中使用 SSL 管理多个域的最佳方法是什么?

在单个 droplet 中使用 SSL 管理多个域的最佳方法是什么?

首先,抱歉我的英语不好,但我会尽力的。目前,我在 5 美元的 DigitalOcean droplet 上管理 2 个域名,并使用 Cloudflare 作为我的 DNS 管理器,使用灵活的 SSL 配置,一切正常,直到我决定更改为使用 Cloudflare 的 SSL 证书的完整 SSL 配置(blog[dot]cloudflare[dot]com/universal-ssl-encryption-all-the-way-to-the-origin-for-free/)。

假设我的域名是域名.com示例.com。当我通过 HTTP 访问它们时,两者看起来都很好。

  • http;//示例[点]com:显示正确的内容来自example.com 是 WP 网站
  • http;//域名[点]com:显示正确的内容来自domain.com 是 Jekyll 生成的 HTML 网站

但是,当我尝试从 HTTPS 访问它时,它看起来很奇怪。

  • https;//示例[点]com:显示正确的内容来自example.com 是 WP 网站
  • https;//域名[点]com:显示来自example.com 是 WP 网站

这是我的 nginxexample.com.conf

server {
    listen 80;
    listen 443 ssl;
    server_name example.com;

    root  /var/www/sites/example.com/;

    # Logging Settings
    access_log  /var/www/logs/example.com-access.log;
    error_log   /var/www/logs/example.com-error.log;

    location / {
        try_files  $uri $uri/ /index.php;
        index      index.php index.html index.htm;
    }

    #ssl on;
    ssl_certificate     /var/www/certs/example.com.crt;
    ssl_certificate_key /var/www/certs/example.com.key;
    #ssl_session_timeout 5m;
    ssl_protocols   SSLv3 TLSv1.2;
    ssl_ciphers     AES256+RSA:!aNULL;
    ssl_prefer_server_ciphers on;

    # Wordpress SEO
    rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
    rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;
    rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;

    include  /var/www/sites/example.com/nginx.conf;
    include  /etc/nginx/conf.d/error_page.conf;
    include  /etc/nginx/conf.d/common.conf;
    include  /etc/nginx/conf.d/phpcgi.conf;
}

以下是我的domain.com.conf

server {
    listen 80 default_server;
    listen 433 ssl;
    server_name domain.com;

    root  /var/www/sites/domain.com/;

    # Logging Settings
    access_log  /var/www/logs/domain.com-access.log;
    error_log   /var/www/logs/domain.com-error.log;

    location / {
        index      index.html index.htm;
    }

    #ssl on;
    ssl_certificate     /var/www/certs/domain.com.crt;
    ssl_certificate_key /var/www/certs/domain.com.key;
    #ssl_session_timeout 5m;
    ssl_protocols   SSLv3 TLSv1.2;
    ssl_ciphers     AES256+RSA:!aNULL;
    ssl_prefer_server_ciphers on;

    include /etc/nginx/conf.d/error_page.conf;
    include /etc/nginx/conf.d/common.conf;
    #include /etc/nginx/conf.d/phpcgi.conf;
}

这是我的/etc/hosts文件

127.0.0.1 localhost domain.com example.com

123.456.789.987 domain.com example.com

有人有解决方案吗?

附言:我目前还不能发布链接。

谢谢 :)

答案1

由@Ismooth (在问题评论中) 回答,谢谢。

您的 domain.com.conf 中有一个拼写错误,listen 433 ssl;应该是listen 443 ssl;

相关内容