ssl在本地开发服务器上

时间:2014-02-04 16:43:33

标签: apache ssl apache2

我在我的笔记本电脑上运行ubuntu作为测试服务器。我试图用自签名的ssl证书设置一些测试站点。我想我的一切都是正确的,除了apache 2 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>

现在当我去网站(https://marino.hr4.mdev)时,我被告知“它有效!”这在某种程度上令人放心,但这不是我期望看到的内容。


引用了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>

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

2 个答案:

答案 0 :(得分:0)

添加NameVirtualHost指令,或许这样吗?

NameVirtualHost *:443
Listen 443

你的apache服务器显然正在提供它的默认服务器&#34;它可以工作&#34;而不是你的网站。

以下是来自apache的一些支持信息:http://wiki.apache.org/httpd/NameBasedSSLVHosts

编辑:

可能将您的虚拟主机移动到conf文件中第一个引用的vhost,默认是根据订单选择的。

答案 1 :(得分:0)

所以最后我修改了ports.conf文件并将443添加到了Listen指令中,所以它现在显示为:

Listen 80 443
<IfModule ssl_module>
  Listen 443
</IfModule>
<IfModule mod_gnutls.c>
  listen 443
</IfModule>

我还从

更改了conf文件的第一行
<VirtualHost 192.168.73.128:443>

回到

<VirtualHost *:443>

特别感谢震颤让我指向正确的方向。