小编Álv*_*lez的帖子

Apache SNI namevhosts 总是路由到第一个 VirtualHost 条目

Apache 似乎将所有 https 请求路由到第一个,<VirtualHost *:443>而不管 ServerName/ServerAlias 字段上的 SNI 匹配如何。

Apache 使用 SNI
服务器版本构建:Apache/2.2.22 (Ubuntu)
服务器构建:2013 年 3 月 8 日 15:53:13
OpenSSL 1.0.1 2012 年 3 月 14 日

error.log 报告:

Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
Run Code Online (Sandbox Code Playgroud)

这表明 SNI 正在按照http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI工作(您如何判断您的 Apache 构建是否支持 SNI?)

SSL_TLS_SNI使用 HTTPS 请求时似乎已正确设置(使用 验证phpinfo()

配置:

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to …
Run Code Online (Sandbox Code Playgroud)

sni namevirtualhost apache-2.2

7
推荐指数
1
解决办法
2万
查看次数

带有重音字母的路径中的 Apache + PHP

如果 DOCUMENT_ROOT 的路径包含重音字母,我将无法在 Windows XP 上的 Apache 下运行支持 PHP 的网站。我不是指脚本文件名本身,而是指路径组件中的任何文件夹。

我有这个虚拟主机定义:

<VirtualHost *:80>
 ServerName foo.local
 DocumentRoot "E:/gonzález/sites/foo"

 ErrorLog logs/foo.local-error.log
 CustomLog logs/foo.local-access.log combined

 <Directory "E:/gonzález/sites/foo">
  AllowOverride All
  Options Indexes FollowSymLinks

  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
  • 如果我将文件保存在 ANSI 中,则会出现语法错误:DocumentRoot must be a directory
  • 如果我以 Unicode 保存文件,我会收到另一个语法错误:无效命令 '\xff\xfe#',可能拼写错误或由服务器配置中未包含的模块定义(看起来它在抱怨 BOM)
  • 如果我将文件保存在无 BOM 的 UTF-8 Apache 中,它可以正常工作并且它提供静态文件而没有明显问题......

...然而,加载任何 *.php 文件(甚至是空文件)时,PHP 会抱怨:

Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error:  Unknown: …
Run Code Online (Sandbox Code Playgroud)

windows php php5 apache-2.2

4
推荐指数
1
解决办法
2472
查看次数

标签 统计

apache-2.2 ×2

namevirtualhost ×1

php ×1

php5 ×1

sni ×1

windows ×1