apache - 本地开发服务器上的 ssl

标签 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 的链接后,我的配置文件现在看起来像这样:

<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 后,我被要求添加一个安全异常(exception),这很好,但我随后被踢到我在我的机器上设置的另一个站点。

最佳答案

添加 NameVirtualHost 指令,也许是这样的?

NameVirtualHost *:443
Listen 443

您的 apache 服务器显然是在为它的默认服务器“正常工作”而不是您的网站提供服务。

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

编辑:

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

关于apache - 本地开发服务器上的 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21558311/

相关文章:

apache - 让 CGI 脚本使用 Apache 捕获对域的所有请求

php - 我无法运行 xampp - MySQL 意外关闭

mod_proxy_http.c 之前的 Apache 模块

apache - .htaccess 提示输入密码

node.js - Twilio 语音 URL - 在实现 HTTPS (SSL) 时提供 HTTP 状态代码 502

node.js - 将 force-ssl 包添加到已经使用 appcache 的 Meteor 项目

Apache TomCat 问题

android - 在公钥基础设施中使用 square okHTTP 库的 HTTPS/SSL

docker - 将 mod_rewrite 添加到 Docker 镜像 httpd :alpine

ubuntu - modsecurity白名单ip范围