AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 486275
Accepted
spacebiker
spacebiker
Asked: 2013-03-08 17:31:31 +0800 CST2013-03-08 17:31:31 +0800 CST 2013-03-08 17:31:31 +0800 CST

SSL 在多个域上导致相同的内容[重复]

  • 772
这个问题在这里已经有了答案:
同一 IP 地址和同一端口上的多个 SSL 域? (5 个答案)
9 年前关闭。

我已经设置了一个 Debian LAMP 服务器,我在其中托管了多个网站。据我所知,我只能在其中一个网站上使用 SSL,如果我想在两个或更多网站上使用 SSL,我必须添加另一个 IP - 到目前为止一切顺利。

问题是每当我输入https://siteone.com或https://sitetwo.com它总是显示来自的内容:https://siteone.com。我宁愿它显示一些错误消息或其他内容,但绝对不显示我的主要站点的内容(这是我希望 SSL 工作的地方)。

注意:我的 Debian Web 服务器使用 ispconfig 作为它的控制面板。

ssl
  • 4 4 个回答
  • 2228 Views

4 个回答

  • Voted
  1. Brigand
    2013-03-08T17:36:11+08:002013-03-08T17:36:11+08:00

    请参阅标题为在具有一个 IP 地址的 Apache 中使用多个 SSL 证书的页面。

    • 2
  2. Best Answer
    Stephen Ostermiller
    2013-03-08T18:27:42+08:002013-03-08T18:27:42+08:00

    确保您的虚拟主机设置正确,以便每个虚拟主机仅绑定到一个 IP 地址。基于 IP 的虚拟主机的Apache 文档说您的虚拟主机应类似于以下内容:

    <VirtualHost 192.168.0.1:443>
    ServerAdmin [email protected]
    DocumentRoot /groups/smallco/www
    ServerName smallco.example.com
    ErrorLog /groups/smallco/logs/error_log
    TransferLog /groups/smallco/logs/access_log
    </VirtualHost>
    
    <VirtualHost 192.168.0.2:443>
    ServerAdmin [email protected]
    DocumentRoot /groups/baygroup/www
    ServerName baygroup.example.com
    ErrorLog /groups/baygroup/logs/error_log
    TransferLog /groups/baygroup/logs/access_log
    </VirtualHost>
    

    您的 apache 配置中列出的第一个虚拟主机是默认主机。在你的前两个之前添加一个假的,只是为了确保你真正匹配你的虚拟主机,而不是盲目地落入第一个。这是一篇关于 IBM 此类设置的更完整的文章:http ://www-01.ibm.com/support/docview.wss?uid=swg21045922

    • 2
  3. Octopus
    2013-03-09T01:13:49+08:002013-03-09T01:13:49+08:00

    如果 Stephen 的建议对您不太适用,那么请确保您的 apache 配置文件中也有以下行:

    NameVirtualHost *:443
    

    另外,FRB 是对的。您可以在任意数量的虚拟机上安装 SSL。只需将 SSL 配置信息放入<VirtualHost></VirtualHost>代码块中即可。

    像这样的(另请注意,使用命名主机时无需绑定到特定 IP):

    ## SSL (HTTPS) PORT 443
    Listen 443
    NameVirtualHost *:443
    
    LoadModule ssl_module modules/mod_ssl.so
    SSLPassPhraseDialog  builtin
    SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
    SSLSessionCacheTimeout  300
    SSLMutex default
    SSLRandomSeed startup file:/dev/urandom  256
    SSLRandomSeed connect builtin
    SSLCryptoDevice builtin
    
    <VirtualHost *:443>
      ServerName host1.com
    
      SSLEngine on
      SSLOptions +StrictRequire
      SSLProtocol -all +TLSv1 +SSLv3
      SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
      SSLCertificateFile    /etc/httpd/ssl/host1.crt
      SSLCertificateKeyFile /etc/httpd/ssl/host1.key
      SSLVerifyClient none
      SSLProxyEngine off
    
      SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
      CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
      DocumentRoot /var/www/host1/
    
      <Directory "/var/www/host1/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order Allow,deny
        Allow from all
      </Directory>
    
    </VirtualHost>
    
    
    <VirtualHost *:443>
      ServerName host2.com
    
      SSLEngine on
      SSLOptions +StrictRequire
      SSLProtocol -all +TLSv1 +SSLv3
      SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
      SSLCertificateFile    /etc/httpd/ssl/host2.crt
      SSLCertificateKeyFile /etc/httpd/ssl/host2.key
      SSLVerifyClient none
      SSLProxyEngine off
    
      SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
      CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
      DocumentRoot /var/www/host2/
    
      <Directory "/var/www/host2/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order Allow,deny
        Allow from all
      </Directory>
    
    </VirtualHost>
    
    • 2
  4. Alastair Irvine
    2013-03-10T09:03:51+08:002013-03-10T09:03:51+08:00

    您实际上可以在同一个 IP 地址上创建多个 SSL 站点,而无需使用 SNI。(主要)问题是您必须使用相同的证书,该证书必须具有所有必需的域作为主题备用名称。(这些将使证书成本增加。)这意味着所有站点都针对同一组织。

    Apache2 分两个阶段处理 SSL。第一阶段涉及检查 IP 地址的默认(第一个)虚拟主机块中的“SSLEngine on”语句,然后启动 SSL 连接。第二阶段涉及检查 ServerName/ServerAlias 指令,直到识别出正确的虚拟主机。

    所以您实际上不需要在每个虚拟主机中复制 SSL* 指令,但它有助于吸引人们注意它是一个 SSL 站点这一事实。(否则他们必须注意端口号。)

    第二个问题是每次 Apache 启动时都会在 error_log 中添加一个警告。

    • 1

相关问题

  • 如何使用 Tomcat 5.5 更新 SSL 证书

  • 为 IIS6 自行生成 SSL 证书?

  • plesk 上的域和子域 ssl 访问

  • 如何设置 SSL 邮件服务器?

  • 如何通过 SVN 命令行接受 SSL 证书?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve