Apache 本地dev服务器上的ssl

Apache 本地dev服务器上的ssl,apache,ssl,apache2,Apache,Ssl,Apache2,我在笔记本电脑上运行ubuntu作为测试服务器。我正在尝试使用自签名ssl证书设置一些测试站点。我想除了Apache2 conf文件之外,我所有的东西都是正确的 创建证书时,我将通用名称命名为*.hr4.mdev。“mdev”是我任意称之为本地开发环境的东西 因此,我修改了现有的conf文件,改为在443上侦听80(第1行),并添加了第6、7和8行 <VirtualHost *:443> ServerAdmin myemail@mydomain.com ServerName

我在笔记本电脑上运行ubuntu作为测试服务器。我正在尝试使用自签名ssl证书设置一些测试站点。我想除了Apache2 conf文件之外,我所有的东西都是正确的

创建证书时,我将通用名称命名为*.hr4.mdev。“mdev”是我任意称之为本地开发环境的东西

因此,我修改了现有的conf文件,改为在443上侦听80(第1行),并添加了第6、7和8行

<VirtualHost *:443>
  ServerAdmin  myemail@mydomain.com
  ServerName   marino.hr4.mdev
  ServerAlias  *.marino.hr4.mdev
  DocumentRoot /var/www/marino.hr4/htdocs
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/apache.crt
  SSLCertificateKeyFile /etc/apache2/ssl/apache.key
  <Directory /var/www/marino.hr4/htdocs>
    php_value include_path /var/www/marino.hr4/htdocs
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ErrorLog /var/www/marino.hr4/logs/error.log
  # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
  LogLevel debug

  CustomLog /var/www/marino.hr4/logs/access.log combined
</VirtualHost>

服务器管理员myemail@mydomain.com
服务器名marino.hr4.mdev
ServerAlias*.marino.hr4.mdev
DocumentRoot/var/www/marino.hr4/htdocs
斯伦金安
SSLCertificateFile/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile/etc/apache2/ssl/apache.key
php_值包括_path/var/www/marino.hr4/htdocs
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
ErrorLog/var/www/marino.hr4/logs/error.log
#可能的值包括:debug、info、notice、warn、error、crit、alert、emerg。
日志级调试
CustomLog/var/www/marino.hr4/logs/access.log
现在,当我访问这个网站()时,我被告知“它很有效!”这在某种程度上是令人放心的,但它不是我期望看到的内容


引用了tremor的链接后,我的conf文件现在如下所示:

<VirtualHost 192.168.73.128:443>
  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

  SSLCertificateFile /etc/apache2/ssl/apache.crt
  SSLCertificateKeyFile /etc/apache2/ssl/apache.key

  ServerAdmin  bernard@theminery.com
  ServerName   marino.hr4.mdev
  ServerAlias  *.marino.hr4.mdev
  DocumentRoot /var/www/marino.hr4/htdocs

  <Directory /var/www/marino.hr4/htdocs>
    php_value include_path /var/www/marino.hr4/htdocs
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ErrorLog /var/www/marino.hr4/logs/error.log
  # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
  LogLevel debug

  CustomLog /var/www/marino.hr4/logs/access.log combined
</VirtualHost>

斯伦金安
SSLCipherSuite全部:!ADH:!出口56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile/etc/apache2/ssl/apache.key
服务器管理员bernard@theminery.com
服务器名marino.hr4.mdev
ServerAlias*.marino.hr4.mdev
DocumentRoot/var/www/marino.hr4/htdocs
php_值包括_path/var/www/marino.hr4/htdocs
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
ErrorLog/var/www/marino.hr4/logs/error.log
#可能的值包括:debug、info、notice、warn、error、crit、alert、emerg。
日志级调试
CustomLog/var/www/marino.hr4/logs/access.log

重新启动Apache后,我被要求添加一个安全异常,这很好,但随后我被踢到我在机器上设置的另一个站点。

添加NameVirtualHost指令,可能类似于这样

NameVirtualHost *:443
Listen 443
显然,您的apache服务器正在为其默认服务器“it works”而不是您的网站提供服务

以下是来自apache的一些支持信息:

编辑:


可能会将虚拟主机移动到conf文件中第一个引用的vhost,默认值是根据顺序选择的

因此,最后我修改了ports.conf文件,并将443添加到Listen指令中,因此现在它的内容如下:

Listen 80 443
<IfModule ssl_module>
  Listen 443
</IfModule>
<IfModule mod_gnutls.c>
  listen 443
</IfModule>
听80443
听我说
听我说
我还将conf文件的第一行从

<VirtualHost 192.168.73.128:443>

回到

<VirtualHost *:443>


特别感谢tremor为我指明了正确的方向。

只需将虚拟主机设为默认主机,“它工作”就是默认的apache目录。当我将这些行添加到conf文件并重新启动apache2时,我收到一个通知“apache2 configtest失败”。它还告诉我“NameVirtualHost无效,将在下一版本中删除“谢谢你,震颤,看起来我比以前领先了一点。请看我上面的编辑。哦,你一定在使用Apache2.4?我不认为这是包装与Centos。NameVirtualHost在2.2之后可能会被弃用。此外,虚拟主机的列出顺序也是默认的顺序。。因此,无论您想将哪个设置为默认设置,都应该是.conf文件中顺序中的第一个。