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

wnrlj8wa  于 2023-06-23  发布在  Apache
关注(0)|答案(7)|浏览(184)

我正在尝试从本地Web服务器访问Active Directory。为此,我使用了最新版本的xampp和一个名为adLDAP的PHP脚本。如果我理解正确的话,我需要启用SSL来访问https URL。我试过谷歌它,但没有运气:(谁能链接一个教程或解释给我如何安装SSL的xampp/apache为windows 7 64位?任何帮助将不胜感激:)

ep6jt1vc

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并搜索行

#LoadModule ssl_module modules/mod_ssl.so

删除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
快跑

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

8fsztsew

8fsztsew2#

事实证明,OpenSSL是在XAMPP 1.7.2的php 5.3中编译和启用的,因此不再需要单独的扩展dll。
但是,您仍然需要在PHP.ini文件extension=php_openssl.dll行中启用它

daupos2t

daupos2t3#

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

mjqavswn

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,如下所示:

<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上工作。

ghhkc1vu

ghhkc1vu5#

我已经通过互联网查看了所有的答案和教程,但以下是使用XAMPP在localhost上启用SSL(https)的基本步骤

必填项:

1.运行->“C:\xampp\apache\makecert.bat”(双击窗口)填写您选择的密码,按Enter键,但要定义“localhost”!!!当被问到这里时要小心:

  • 通用名称(例如服务器FQDN或您的名称)[]:localhost*

(证书只按域名分区颁发!)
1.重启apache

  1. Chrome ->设置->搜索“证书”->管理证书->受信任的根证书颁发机构->导入->“C:\xampp\apache\conf\ssl. crt\server. crt”->必须询问“YES”以确认!
  2. https://localhost/testssl.php -> [OK,Now绿色!](任何html测试文件)

可选:(如果上面的不起作用,请执行更多的这些步骤)

1.以管理员身份运行XAMPP(开始-> XAMPP ->右键单击->以管理员身份运行)

  1. XAMPP -> Apache -> Config -> httpd.conf(“C:\xampp\apache\conf\httpd.conf”)
    LoadModule ssl_module modules/mod_ssl.so(删除行首的#)
  2. XAMPP -> Apache -> Config -> php.ini(“C:\xampp\php\php.ini”)
    extension=php_openssl.dll(remove ;从行的开始)
    1.重启Apache和Chrome!
    检查证书的任何问题或状态:
    Chrome -> F12 ->安全->查看证书
agxfikkp

agxfikkp6#

我做了所有建议的东西在这里,我的代码仍然没有工作,因为我使用curl
如果你在php文件中使用curl,curl似乎默认拒绝所有ssl流量。一个对我有效的快速解决方法是添加:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

致电前:

curl_exec():

在PHP文件中。
我相信这会禁用所有SSL证书的验证。

vwkv1x7d

vwkv1x7d7#

要在Chrome中启用此设置:

chrome://flags/#allow-insecure-localhost

只需将此输入到URL输入中并启用它。重新启动浏览器。SSL server.crt必须在浏览器中的“受信任的根证书颁发机构”中导入。
https开始按预期工作。

相关问题