https能不能一个主机上配置多个web应用

想在一个主机上配置https,有三个域名,aaa.com bbb.net ccc.org, 对应三个不同端口的项目,可以给它们都配上https吗?nginx应该怎么写?

用Letsencrypt配置了aaa.com的https,其他两个项目应该怎么配呢?

阅读 2.5k
评论
    5 个回答

    aaa.com

    server {
        listen 443;
        server_name aaa.com;
        ssl on;
        ssl_certificate /path/to/aaa.com_fullchain.pem;
        ssl_certificate_key /path/to/aaa.com_privkey.pem;
    
        charset utf-8;
        access_log  /var/logs/aaa.com.access.log;
    
        location / {
            root   html/aaa.com;
            index  index.html index.htm;
        }
    }

    bbb.net

    server {
        listen 443;
        server_name bbb.net;
        ssl on;
        ssl_certificate /path/to/bbb.net_fullchain.pem;
        ssl_certificate_key /path/to/bbb.net_privkey.pem;
    
        charset utf-8;
        access_log  /var/logs/bbb.net.access.log;
    
        location / {
            root   html/bbb.net;
            index  index.html index.htm;
        }
    }

    ccc.org

    server {
        listen 443;
        server_name ccc.org;
        ssl on;
        ssl_certificate /path/to/ccc.org_fullchain.pem;
        ssl_certificate_key /path/to/ccc.org_privkey.pem;
    
        charset utf-8;
        access_log  /var/logs/ccc.org.access.log;
    
        location / {
            root   html/ccc.org;
            index  index.html index.htm;
        }
    }

        这是一个新标准叫 SNI,需要 Web 服务器和浏览器都支持。

          • 6.7k

          需要浏览器支持SNI 极古老的IE可能不支持 如果你面向正常用户就不是问题

          给其他域名申请好证书,另外加两个server块即可 不需要nginx特别配置

            没有尝试过https的,但尝试过http的,感觉https应该是可以的;

            这个问题感觉可能会分为两部分;
            一部分是三个域名和三个不同端口的映射,这个直接用proxy_pass就可以,写在location里的, 只是应该每个都需要配置证书的位置吧;
            第二个部分可能是楼上说的sni,抱歉这个没有尝试过。

            #server {
            #    listen       443 ssl;
            #    server_name  localhost;
            
            #    ssl_certificate      cert.pem;
            #    ssl_certificate_key  cert.key;
            
            #    ssl_session_cache    shared:SSL:1m;
            #    ssl_session_timeout  5m;
            
            #    ssl_ciphers  HIGH:!aNULL:!MD5;
            #    ssl_prefer_server_ciphers  on;
            
            #    location / {
            #        root   html;
            #        index  index.html index.htm;
            #    }
            #}
              撰写回答

              登录后参与交流、获取后续更新提醒

              相似问题
              推荐文章