如何使用相同的 SSL 证书配置多个 <virtualhost> - Apache

伊万·博特罗

语境:

我有一个域:example.com,但我想创建一个域,就像api.example.com使用网络服务一样使用它。

昨晚,我使用Let's Encrypt获得了一个免费的 SSL 证书

我的域example.com应该打开/var/www/website/.

我的域api.example.com应该打开/var/www/api/.

我在 Internet 上查找了一些信息,并在以下位置创建了这些文件 /etc/apache2/sites-available/

/etc/apache2/sites-available/example.com

<VirtualHost *:80>

    ServerName  example.com
    DocumentRoot    /var/www/website/

    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/example.com/error.log

        <Directory "/var/www/website/">
                Options FollowSymLinks
                AllowOverride None
        </Directory>

</VirtualHost>

<VirtualHost *:443>

    ServerName  example.com
    DocumentRoot    /var/www/website/

    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/example.com/error_ssl.log

    SSLEngine on
    SSLCertificateKeyFile   /etc/apache2/ssl/example.com/privkey.pem
    SSLCertificateFile      /etc/apache2/ssl/example.com/cert.pem
    SSLCertificateChainFile /etc/apache2/ssl/example.com/chain.pem

        <Directory "/var/www/website/">
                Options FollowSymLinks
                AllowOverride None
        </Directory>

</VirtualHost>

/etc/apache2/sites-available/api.example.com

<VirtualHost *:80>

    ServerName  api.example.com
    DocumentRoot    /var/www/api/

    #RewriteEngine On
    #RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

        <Directory "/var/www/api/">
                Options FollowSymLinks
                AllowOverride None
        </Directory>

</VirtualHost>

<VirtualHost *:443>

    ServerName  api.example.com
    DocumentRoot    /var/www/api/

    LogLevel warn
    ErrorLog ${APACHE_LOG_DIR}/error.log

    SSLEngine on
    SSLCertificateKeyFile   /etc/apache2/ssl/example.com/privkey.pem
    SSLCertificateFile      /etc/apache2/ssl/example.com/cert.pem
    SSLCertificateChainFile /etc/apache2/ssl/example.com/chain.pem

        <Directory "/var/www/api/">
                Options FollowSymLinks
                AllowOverride None
        </Directory>

</VirtualHost>

我创建了两个文件,因为我虽然需要将域分开,但是当我尝试输入时,example.com我将内容放在api.example.com.

使用Let's encrypt,我为两个域创建了相同的 SSL 证书,并且文件位于/etc/apache2/ssl/example.com/.

伊万·博特罗

我找到了解决办法!

我已经编辑了httpd.confports.conf.

/etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

NameVirtualHost *:443

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

/etc/apache2/httpd.conf

SSLStrictSNIVHostCheck on

现在我可以将域名用于网站和网络服务

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SSL的Apache 2.4.6 VirtualHost DocumentRoot配置被忽略

来自分类Dev

具有多个Virtualhost的Apache SSL

来自分类Dev

如何在Apache虚拟主机上使用别名配置多个SSL证书?

来自分类Dev

使用受信任证书的apache SSL配置

来自分类Dev

Apache:2个SSL证书,相同的DocumentRoot

来自分类Dev

如何修复Firefox 59不再在.dev virtualhost上接受我的自签名SSL证书

来自分类Dev

在Apache VirtualHost中配置别名和目录

来自分类Dev

在Apache VirtualHost中配置别名和目录

来自分类Dev

如何在Apache中正确配置VirtualHost(用于eXist-db应用)

来自分类Dev

如何在Mac OS X的Apache2中轻松创建SSL证书并对其进行配置?

来自分类Dev

apache上的SSL续订证书继续使用旧的证书文件

来自分类Dev

如何配置Windows上运行的node.js以使用具有多个域名的多个SSL证书?

来自分类Dev

Apache VirtualHost,一行中有多个ServerName

来自分类Dev

Apache VirtualHost:同一IP上的多个站点

来自分类Dev

一台VirtualHost中的Apache多个ProxyPass条目

来自分类Dev

Apache VirtualHost被忽略

来自分类Dev

Apache服务错误的VirtualHost

来自分类Dev

设置Apache VirtualHost(CentO)

来自分类Dev

Apache提供旧的SSL证书

来自分类Dev

Apache 2.4 弄乱了 SSL 证书

来自分类Dev

清漆如何清除已删除的apache virtualhost的缓存数据?

来自分类Dev

如何为 Apache httpd VirtualHost 定义默认页面?

来自分类Dev

如何使Apache 2停止询问SSL证书的密码?

来自分类Dev

如何使Apache 2停止询问SSL证书的密码?

来自分类Dev

VirtualHost始终在Ubuntu 14.04上使用Apache返回默认主机

来自分类Dev

无法使用Apache 2.2.15访问CentOS 6上的virtualhost

来自分类Dev

使用Apache-Commons-net添加自签名SSL证书

来自分类Dev

使用 Gandi.net SSL 证书的 AWS SSL 配置

来自分类Dev

如何使用SSL证书在Tomcat 7上配置Https?

Related 相关文章

  1. 1

    SSL的Apache 2.4.6 VirtualHost DocumentRoot配置被忽略

  2. 2

    具有多个Virtualhost的Apache SSL

  3. 3

    如何在Apache虚拟主机上使用别名配置多个SSL证书?

  4. 4

    使用受信任证书的apache SSL配置

  5. 5

    Apache:2个SSL证书,相同的DocumentRoot

  6. 6

    如何修复Firefox 59不再在.dev virtualhost上接受我的自签名SSL证书

  7. 7

    在Apache VirtualHost中配置别名和目录

  8. 8

    在Apache VirtualHost中配置别名和目录

  9. 9

    如何在Apache中正确配置VirtualHost(用于eXist-db应用)

  10. 10

    如何在Mac OS X的Apache2中轻松创建SSL证书并对其进行配置?

  11. 11

    apache上的SSL续订证书继续使用旧的证书文件

  12. 12

    如何配置Windows上运行的node.js以使用具有多个域名的多个SSL证书?

  13. 13

    Apache VirtualHost,一行中有多个ServerName

  14. 14

    Apache VirtualHost:同一IP上的多个站点

  15. 15

    一台VirtualHost中的Apache多个ProxyPass条目

  16. 16

    Apache VirtualHost被忽略

  17. 17

    Apache服务错误的VirtualHost

  18. 18

    设置Apache VirtualHost(CentO)

  19. 19

    Apache提供旧的SSL证书

  20. 20

    Apache 2.4 弄乱了 SSL 证书

  21. 21

    清漆如何清除已删除的apache virtualhost的缓存数据?

  22. 22

    如何为 Apache httpd VirtualHost 定义默认页面?

  23. 23

    如何使Apache 2停止询问SSL证书的密码?

  24. 24

    如何使Apache 2停止询问SSL证书的密码?

  25. 25

    VirtualHost始终在Ubuntu 14.04上使用Apache返回默认主机

  26. 26

    无法使用Apache 2.2.15访问CentOS 6上的virtualhost

  27. 27

    使用Apache-Commons-net添加自签名SSL证书

  28. 28

    使用 Gandi.net SSL 证书的 AWS SSL 配置

  29. 29

    如何使用SSL证书在Tomcat 7上配置Https?

热门标签

归档