我正在尝试从本地Web服务器访问Active Directory。为此,我使用了最新版本的xampp和一个名为adLDAP的PHP脚本。如果我理解正确的话,我需要启用SSL来访问https URL。我试过谷歌它,但没有运气:(谁能链接一个教程或解释给我如何安装SSL的xampp/apache为windows 7 64位?任何帮助将不胜感激:)
ep6jt1vc1#
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并搜索行
<IfModule ssl_module>
#LoadModule ssl_module modules/mod_ssl.so
删除hashmark,保存文件并重新启动apache。Web服务器现在应该以XAMPP的基本/默认SSL配置启动;对于测试来说已经足够好了,但是你可能想在apache文档中阅读更多关于mod_ssl的内容。PHP部分-启用adldap以使用ldap over ssladldap需要php的openssl扩展来使用“ldapoverssl”连接。openssl扩展作为xampp的dll提供。你必须“告诉”php加载这个dll,例如。通过在php.ini中添加extension=nameofmodule.dll快跑
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
8fsztsew2#
事实证明,OpenSSL是在XAMPP 1.7.2的php 5.3中编译和启用的,因此不再需要单独的扩展dll。但是,您仍然需要在PHP.ini文件extension=php_openssl.dll行中启用它
extension=php_openssl.dll
daupos2t3#
我在这里做了大部分建议的事情,仍然没有工作。尝试了这个,它工作了:打开XAMPP控制面板,找到Apache模块的配置按钮。单击Config按钮,选择PHP(php.ini)。使用任何文本编辑器打开,并删除php_openssl之前的半列。保存并重新启动Apache。应该够了!
mjqavswn4#
您可以通过创建自签名证书然后安装这些证书来在XAMPP上启用SSL。键入以下命令以生成证书并将其移动到ssl文件夹。openssl genrsa -des3 -out server.key 1024openssl req -new -key server.key -out server.csrcp server.key server.key.orgopenssl rsa -in server.key.org-out server.keyopenssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crtcp server.crt/opt/lampp/etc/ssl.crt/domainname.crtcp server.key /opt/lampp/etc/ssl.key/domainname.key(Use sudo(如果您不是超级用户)现在,检查mod_ssl是否在[XAMPP_HOME]/etc/httpd.conf中启用:LoadModule ssl_module modules/mod_ssl.so添加一个虚拟主机,在本例中为“localhost.domainname.com”,方法是编辑[XAMPP_HOME]/etc/extra/httpd-ssl.conf,如下所示:
<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上工作。
ghhkc1vu5#
我已经通过互联网查看了所有的答案和教程,但以下是使用XAMPP在localhost上启用SSL(https)的基本步骤:
1.运行->“C:\xampp\apache\makecert.bat”(双击窗口)填写您选择的密码,按Enter键,但要定义“localhost”!!!当被问到这里时要小心:
(证书只按域名分区颁发!)1.重启apache
1.以管理员身份运行XAMPP(开始-> XAMPP ->右键单击->以管理员身份运行)
agxfikkp6#
我做了所有建议的东西在这里,我的代码仍然没有工作,因为我使用curl如果你在php文件中使用curl,curl似乎默认拒绝所有ssl流量。一个对我有效的快速解决方法是添加:
curl
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
致电前:
curl_exec():
在PHP文件中。我相信这会禁用所有SSL证书的验证。
vwkv1x7d7#
要在Chrome中启用此设置:
chrome://flags/#allow-insecure-localhost
只需将此输入到URL输入中并启用它。重新启动浏览器。SSL server.crt必须在浏览器中的“受信任的根证书颁发机构”中导入。https开始按预期工作。
7条答案
按热度按时间ep6jt1vc1#
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并搜索行
删除hashmark,保存文件并重新启动apache。Web服务器现在应该以XAMPP的基本/默认SSL配置启动;对于测试来说已经足够好了,但是你可能想在apache文档中阅读更多关于mod_ssl的内容。
PHP部分-启用adldap以使用ldap over ssl
adldap需要php的openssl扩展来使用“ldapoverssl”连接。openssl扩展作为xampp的dll提供。你必须“告诉”php加载这个dll,例如。通过在php.ini中添加
extension=nameofmodule.dll
快跑
它应该显示你的php安装使用的ini文件(php-apache-module和php-cli版本可能不同)。
在编辑器中打开此文件并搜索
删除分号,保存文件并重新启动apache。
标签:http://docs.php.net/install.windows.extensions
8fsztsew2#
事实证明,OpenSSL是在XAMPP 1.7.2的php 5.3中编译和启用的,因此不再需要单独的扩展dll。
但是,您仍然需要在PHP.ini文件
extension=php_openssl.dll
行中启用它daupos2t3#
我在这里做了大部分建议的事情,仍然没有工作。尝试了这个,它工作了:打开XAMPP控制面板,找到Apache模块的配置按钮。单击Config按钮,选择PHP(php.ini)。使用任何文本编辑器打开,并删除php_openssl之前的半列。保存并重新启动Apache。应该够了!
mjqavswn4#
您可以通过创建自签名证书然后安装这些证书来在XAMPP上启用SSL。键入以下命令以生成证书并将其移动到ssl文件夹。
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
(Use sudo(如果您不是超级用户)
现在,检查mod_ssl是否在[XAMPP_HOME]/etc/httpd.conf中启用:
LoadModule ssl_module modules/mod_ssl.so
添加一个虚拟主机,在本例中为“localhost.domainname.com”,方法是编辑[XAMPP_HOME]/etc/extra/httpd-ssl.conf,如下所示:
在/etc/hosts中添加以下条目:
现在,尝试安装证书/尝试将证书导入到浏览器。我已经检查过了,这个在Ubuntu上工作。
ghhkc1vu5#
我已经通过互联网查看了所有的答案和教程,但以下是使用XAMPP在localhost上启用SSL(https)的基本步骤:
必填项:
1.运行->“C:\xampp\apache\makecert.bat”(双击窗口)填写您选择的密码,按Enter键,但要定义“localhost”!!!当被问到这里时要小心:
(证书只按域名分区颁发!)
1.重启apache
可选:(如果上面的不起作用,请执行更多的这些步骤)
1.以管理员身份运行XAMPP(开始-> XAMPP ->右键单击->以管理员身份运行)
LoadModule ssl_module modules/mod_ssl.so(删除行首的#)
extension=php_openssl.dll(remove ;从行的开始)
1.重启Apache和Chrome!
检查证书的任何问题或状态:
Chrome -> F12 ->安全->查看证书
agxfikkp6#
我做了所有建议的东西在这里,我的代码仍然没有工作,因为我使用
curl
如果你在php文件中使用
curl
,curl似乎默认拒绝所有ssl流量。一个对我有效的快速解决方法是添加:致电前:
在PHP文件中。
我相信这会禁用所有SSL证书的验证。
vwkv1x7d7#
要在Chrome中启用此设置:
只需将此输入到URL输入中并启用它。重新启动浏览器。SSL server.crt必须在浏览器中的“受信任的根证书颁发机构”中导入。
https开始按预期工作。