在本地 xampp/apache 服务器上设置 SSL

问题描述 投票:0回答:5

我正在尝试从本地网络服务器访问 Active Directory。为此,我使用最新版本的 xampp 和名为 adLDAP 的 PHP 脚本。如果我理解正确的话,我需要启用 SSL 来访问 https URL。我尝试用谷歌搜索它,但没有成功:(任何人都可以链接一个教程或向我解释如何在 Windows 7 64 位的 xampp/apache 上安装 SSL 吗?任何帮助将不胜感激:)

php apache ssl https xampp
5个回答
29
投票

Apache 部分 - 使您能够打开 https://localhost/xyz

配置文件 xampp/apache/conf/extra/httpd-ssl.conf 包含所有 ssl 特定配置。它有相当详细的文档,因此请阅读评论并查看 http://httpd.apache.org/docs/2.2/ssl/。 这些文件以

<IfModule ssl_module>
开头,因此仅当 apache 使用其 mod_ssl 模块启动时才有效。

在编辑器中打开文件 xampp/apache/conf/httpd.conf 并搜索该行

#LoadModule ssl_module modules/mod_ssl.so

删除哈希标记,保存文件并重新启动 apache。 Web 服务器现在应该以 xampp 的基本/默认 ssl 配置启动;足以进行测试,但您可能想在 apache 文档中阅读更多有关 mod_ssl 的信息。


PHP 部分 - 使 adldap 能够通过 ssl 使用 ldap

adldap 需要 php 的 openssl 扩展才能使用“ldap over ssl”连接。 openssl 扩展作为 xampp 的 dll 提供。您必须“告诉”php 加载此 dll,例如在你的 php.ini 中有一个

extension=nameofmodule.dll

奔跑

echo 'ini: ', get_cfg_var('cfg_file_path');

它应该显示您的 php 安装使用哪个 ini 文件(php-apache-module 和 php-cli 版本之间可能有所不同)。
在编辑器中打开此文件并搜索

;extension=php_openssl.dll

删除分号,保存文件并重新启动apache。

另请参阅:http://docs.php.net/install.windows.extensions


6
投票

事实证明,OpenSSL 是在 XAMPP 1.7.2 的 php 5.3 中编译并启用的,因此不再需要单独的扩展 dll。

但是,您仍然需要在 PHP.ini 文件中的行

extension=php_openssl.dll

中启用它

4
投票

我在这里做了大部分建议的事情,但仍然不起作用。尝试过这个并且它有效: 打开您的 XAMPP 控制面板,找到 Apache 模块Config 按钮。单击“配置”按钮并选择“PHP (php.ini)”。使用任何文本编辑器打开并删除php_openssl之前的半列。保存并重新启动 Apache。应该可以!


2
投票

openssl genrsa -des3 -out server.key 1024

openssl req -new -key server.key -out server.csr

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

cp server.crt /opt/lampp/etc/ssl.crt/domainname.crt

cp server.key /opt/lampp/etc/ssl.key/domainname.key

(如果您不是超级用户,请在每个命令中使用 sudo)

现在,检查 [XAMPP_HOME]/etc/httpd.conf 中是否启用了 mod_ssl:

加载模块 ssl_module 模块/mod_ssl.so

通过编辑 [XAMPP_HOME]/etc/extra/httpd-ssl.conf 添加虚拟主机,在本例中为“localhost.domainname.com”,如下所示:

<virtualhost 127.0.1.4:443> ServerName localhost.domainname.com ServerAlias localhost.domainname.com *.localhost.domainname.com ServerAdmin admin@localhost DocumentRoot "/opt/lampp/htdocs/" DirectoryIndex index.php ErrorLog /opt/lampp/logs/domainname.local.error.log CustomLog /opt/lampp/logs/domainname.local.access.log combined SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /opt/lampp/etc/ssl.crt/domainname.crt SSLCertificateKeyFile /opt/lampp/etc/ssl.key/domainname.key <directory /opt/lampp/htdocs/> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </directory> BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 </virtualhost>

将以下条目添加到 /etc/hosts:

127.0.1.4 localhost.domainname.com

现在,尝试安装证书/尝试将证书导入浏览器。我已经检查过了,这在 Ubuntu 上有效。


1
投票
XAMPP

在本地主机上启用SSL(https)的基本步骤 必填:

    运行 ->“C:\xampp pache\makecert.bat”(在 Windows 上双击) 填写您选择的密码,按 Enter 键执行所有操作,但定义“localhost”!!!在这里被问到时要小心:
  1. 通用名称(例如服务器 FQDN 或您的名称)[]:

    localhost (仅针对每个域名区域颁发证书!)

    重新启动阿帕奇
  2. Chrome -> 设置 -> 搜索“证书” -> 管理证书 -> 受信任的根证书颁发机构 -> 导入 -> “C:\xampp pach
© www.soinside.com 2019 - 2024. All rights reserved.