当前位置: 首页 > 知识库问答 >
问题:

在wamp服务器中安装SSL:httpd-SSL.conf中出错

唐威
2023-03-14

我正在尝试在本地主机上设置ssl,我已遵循http://madurad.wordpress.com/2014/04/25/redirect-http-to-https-with-wamp-server/还有许多其他人,但无法获得成功。我坚持httpd-ssl.conf的语法。当我设置

<Directory "c:/wamp/www/"> 
   Options Indexes FollowSymLinks  
   AllowOverride all 
   Require all granted 
   SSLOptions +StdEnvVars
</Directory>

我尝试过许多其他类似

<Directory "c:/wamp/www/"> 
   SSLOptions +StdEnvVars
</Directory>

问题是什么不能得到....

共有3个答案

阳光辉
2023-03-14

如果出现以下错误:

无法加载模块/mod_ssl。因此进入服务器:找不到指定的模块。

>

  • 您可能想尝试在wamp文件夹中搜索libeay32.dll,您可能会在{wamp文件夹}/bin/php/php{version 7}/中找到它

    复制libeay32.dll和ssleay32.dll并将它们粘贴到{wamp文件夹}/bin/apache/apache{版本2. x}/bin/AND{wamp文件夹}/bin/php/php{验证5. x}。确保备份您放置的任何东西。

    运行httpd-t并测试语法

    注意:我相信是由于wamp 3.0.6的apache openssl部分的错误。幸运的是,在php7文件夹中,这些dll与apache和php5兼容。

  • 王涵育
    2023-03-14

    有必要在wampserver 2.5中httpd.conf的文件中激活模块LoadMoulessocache_shmcb_module模块/mod_socache_shmcb.so。如果不是apache,则抛出下一条消息:

    AH00526:C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf 的第 75 行出现语法错误:不支持 SSLSessionCache:“shmcb”会话缓存(已知名称:)。也许您需要加载适当的 socache 模块(mod_socache_shmcb?

    贺高杰
    2023-03-14

    如何配置WAMPServer以使用HTTPS SSL

    这不是一个微不足道的过程。希望本教程能让 SSL 为您工作。但是,一旦它工作,正确配置它完全取决于您。

    所有在这条路上旅行的人的附加阅读

    好吧,

    我以创建一个名为www.wamphelpers的网站为基础编写了本教程。dev所以无论您在哪里看到这个名称,都可以将其更改为您试图保护的站点名称。

    我从创建一个不安全的网站开始,在\wamp\www\w的

    \wamp\bin\apache\apache{version}\conf\extra\httpdvhosts.conf中为该站点添加了虚拟主机

    <VirtualHost *:80>
        DocumentRoot "c:/wamp/www"
        ServerName localhost
        ServerAlias localhost
        <Directory  "c:/wamp/www">
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        DocumentRoot "c:/wamp/www/wamphelpers"
        ServerName wamphelpers.dev
        ServerAlias www.wamphelpers.dev
        <Directory  "c:/wamp/www/wamphelpers">
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    

    将其域名添加到C:\windows\系统32\驱动程序\etc\主机

    某些病毒检查程序会阻止对HOSTS文件的访问,因此您可能需要禁用病毒检查程序,或将其配置为暂时不阻止主机文件。

    127.0.0.1 wamphelpers.dev www.wamphelpers.dev
    ::1       wamphelpers.dev www.wamphelpers.dev
    

    现在重新启动dnscache,如下所示,从使用“以管理员身份运行”启动的命令窗口中

    ipconfig /flushdns
    

    然后在\wamp\www\wamphelpers\index.php中创建了一个简单的脚本

    <?php
        echo 'Hello, this is the WAMPHELPERS.DEV site homepage';
    ?>
    

    现在要激活您定义的新虚拟主机,请编辑 \wamp\bin\apache\apache{version}\conf\httpd.conf 并找到此行

    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    

    并删除#注释字符,如下所示

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    

    保存文件。

    现在重新启动Apache并确保您的简单的不安全虚拟托管站点在继续之前正常工作。

    openssl工具包。openssl.exe、ssleay32.dll和libeay32.dll附带并位于C:\wamp\bin\apache\apachex. y. z\bin文件夹中。这应该是创建自签名证书所需的全部内容!!

    然而:这些在我安装的任何版本的Apache上都不起作用。我总是收到这个错误信息。

    序号根据我所在的apache版本文件夹而改变。

    如果您收到此错误,请不要担心这是您需要做的。

    安装最新版本的 OPENSSL 工具包

    这可以从这里获得

    注意:不要使用V1.1版本,PHP团队还没有用这些新的链接编译PHP,所以请坚持使用V1.0。?版本,直到它们完成。

    选择最新版本的“Win32 OpenSSLv xxx Light”或“Win64 OpenSSLv xxx Light”来匹配您安装的WAMPServer版本,因为这就是您所需要的。

    这将下载一个. exe文件,您可以运行该文件来安装此工具包。

    它会问以下问题,我建议你这样回答,这样你就不会在C:\windows\system32中安装任何东西。最好将这些东西分开,而不是使它们成为全球系统。

    一旦安装完成(安装到您在安装中指定的文件夹中),您就可以开始生成密钥和证书的过程了!

    生成密钥和证书。

    第1步:生成RSA私钥

    首先,我们需要为自己创建一个证书。正常的(付费的)过程是创建证书,然后将其传递给签名机构。这就是为什么要花钱,因为他们必须尽职尽责地检查你是你说的那个人,以及你将使用证书的网站是真实合法的。

    openssl工具包用于生成用于证书的RSA私钥和CSR(证书签名请求)。第一步是创建RSA私钥。该密钥是一个1024位RSA密钥,使用三重DES加密并以PEM格式存储,因此可以作为ASCII文本读取。

    使用[b]以管理员身份运行[/b]将目录更改为上面安装OpenSSL Toolkit的位置,打开命令窗口(Dos box)。在我的情况下,这是

    CD c:\apps\OpenSSL-Win32\bin
    

    为输出创建一个文件夹(以保持bin文件夹整洁)我使用了网站

    md website
    

    现在输入以下命令:

    openssl genrsa -out website\server.key 2048
    

    这应该会在网站文件夹中创建一个名为server.key的文件,如果没有密码,请检查它是否存在。

    步骤 2:生成 CSR(证书签名请求)

    在生成CSR的过程中,系统会提示您输入几条信息。这些是证书的X.509属性。其中一个提示将是“通用名称(例如服务器FQDN或您的名称) []:". 重要的是,该字段应填写受SSL保护的服务器的完全限定域名。因此,如果要保护的网站将是https://www.wamphelpers.dev,则在此提示处输入www.wampheplers.dev。我使用wamphelper.dev作为我的ServerNameServerNamewamphelpers.dev

    不要对问题输入任何内容:挑战密码[]:]只需按回车键。如果您在启动配置了SSL的Apache时在此处输入密码,Apache将无法启动并会给出以下错误消息:-

    [错误]Init:Win32不支持SSLPasPhraseDital内置

    基本上,如果您输入了密码短语,Apache应该在每次启动时挑战您该密码短语。这显然不会让你的生活更轻松,但主要是在Windows上它实际上不起作用,并且会导致Apache在尝试询问密码时崩溃,并出现上述错误。

    生成CSR的命令如下:

    openssl req -new -key website\server.key -out website\server.csr
    
    
    Example question and answers:
    Country Name (2 letter code) [AU]:GB
    State or Province Name (full name) [Some-State]: Hampshire
    Locality Name (eg, city) []: Portsmouth
    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
    Organizational Unit Name (eg, section) []: Information Technology
    Common Name (e.g. server FQDN or YOUR name) []: wamphelpers.dev
    Email Address []: me@wamphelpers.dev
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []: ( leave blank just hit the enter key )
    An optional company name []: ( leave blank just hit the enter key )
    

    步骤 3:生成自签名证书

    此时,您将需要生成自签名证书,因为您要么不打算让CA签署您的证书,要么希望在CA签署您的证书时测试您的新SSL实现。

    预警告此证书将在客户端浏览器中产生错误,大意是签名证书颁发机构未知且不受信任。这是不可避免的,因为我们自己正在签署证书,但信任网络当然不知道我们是谁。请参阅本文档后面的示例,该示例显示如何告诉您的浏览器您实际上信任此证书

    openssl x509 -req -days 365 -in website\server.csr -signkey website\server.key -out website\server.crt
    
    
    Example output:
    Loading 'screen' into random state - done
    Signature ok
    subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/emailAddress=riggsfolly@wamphelpers.dev
    Getting Private key
    

    第4步:安装私钥和证书

    在您正在使用的 Apache 版本下创建这 2 个目录。

    md c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
    md c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
    

    并将我们刚刚生成的文件复制到它们中,如下所示:

    copy website\server.crt c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
    copy website\server.key c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
    

    步骤5:配置Apache来激活SSL

    编辑httpd.conf,检查此行是否未注释

    LoadModule authn_socache_module modules/mod_authn_socache.so
    
    LoadModule ssl_module modules/mod_ssl.so
    
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    

    也从此行中删除注释“#”

    Include conf/extra/httpd-ssl.conf
    

    然后把那条线移到这个街区后面……就像这样

    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    
    # Secure (SSL/TLS) connections
    Include conf/extra/httpd-ssl.conf
    

    步骤 6:配置 PHP 以激活 SSL

    编辑您的php.ini(使用wampManager菜单,以便您编辑正确的菜单)

    删除注释“;”从该行

    extension=php_openssl.dll
    

    步骤7:配置安全站点虚拟主机

    是的,对于所有虚拟主机来说,现在您无法避免该过程。

    编辑\wamp\bin\apachex\apachex.y.z\conf\extra\httpd-ssl.conf

    此文件由Apache发布,包含一些默认文件位置。我们可以保留此文件的大部分内容,但我们需要在此处配置虚拟主机以匹配我们的实际站点位置和其他一些事情,因此:

    找到这些线条

    DocumentRoot "c:/Apache2/htdocs"
    ServerName www.example.com:443
    ServerAdmin admin@example.com
    ErrorLog "c:/Apache2/logs/error.log"
    TransferLog "c:/Apache2/logs/access.log"
    

    并将其更改为

    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev:443
    ErrorLog "c:/wamp/logs/ssl_error.log"
    TransferLog "c:/wamp/logs/ssl_access.log"
    

    找到

    SSLCertificateFile "c:/Apache2/conf/server.crt"
    

    并更改为

    SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"
    

    找到

    SSLCertificateKeyFile "c:/Apache2/conf/server.key"
    

    并更改为

    SSLCertificateKeyFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.key/server.key"
    

    找到

    <Directory "c:/Apache2/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    

    并更改为

    Apache 2.2语法

    <Directory "c:/wamp/www/wamphelpers">
        SSLOptions +StdEnvVars
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1 localhost ::1
    </Directory>
    

    Apache 2.4语法

    <Directory "c:/wamp/www/wamphelpers">
        SSLOptions +StdEnvVars
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require local
    </Directory>
    

    找到

    SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
    SSLSessionCacheTimeout  300
    

    并将其更改为

    SSLSessionCache        "shmcb:c:/wamp/logs/ssl_scache(512000)"
    SSLSessionCacheTimeout  300
    

    找到

    CustomLog "c:/Apache24/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    

    并更改为

    CustomLog "c:/wamp/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    

    基本上查看conf文件,任何未注释掉但对文件或文件夹有引用的命令都应更改为引用WAMPServer文件夹结构,而不是“C:/Apache2……”

    现在确保我们已经更改的所有文件都已保存,并使用wampmanager菜单重新启动Apache。

    第一次测试未受保护的站点是否仍在工作。

    然后尝试使用新的受保护网站,在域名前面添加“https://”,即https://www.wamphelpers.dev,当然没有单引号。

    如果Apache没有重新启动,您可能拼错了。像这样测试配置:-

    打开命令窗口

    cd \wamp\bin\apache\apachex.y.z\bin
    httpd -t
    

    这将解析所有配置文件,并应为您提供文件名和发现错误的行号。

    修复它,然后重试。

    第一次访问您的网站将生成类似这样的消息页面。这是使用FireFox,其他人会略有不同,但概念是一样的。

    这是因为您的证书不是由受信任的颁发机构签名的,不要恐慌,这应该发生。

    点击“我了解风险”,将显示一个按钮,上面写着“添加例外”。在检查证书网站的详细信息确实是您的之后,按下“添加例外”按钮,您将不会再看到此消息,除非您清除例外列表。

    从Apache v2.2.12和OpenSSL v0.9.8j开始,现在可以保护每个Apache实例的多个站点。本教程不包括这个过程。请点击此处了解更多详情:

    这里

    和这里

    和这里

    就像我在顶部所说的那样,现在您需要对SSL配置中的所有可用选项进行一些研究,并使事情按照您想要的方式工作,而不是使用默认值。

     类似资料:
    • 问题内容: 我从以下位置下载了针对Apache 2.2和python 2.7(64bit)的mod_wsgi 。(我正在尝试让django在我的计算机上运行)。 每当我添加以下行时: Apache无法启动。谁能告诉我这个问题可能是什么? 问题答案: 您需要执行以下操作来为Django设置Apache。我假设您在安装了WAMP服务器( 32位* )的Windows( 32 位 )上使用Python

    • 问题内容: 我尝试将答案和论坛主题进行30种组合,但未找到正确的答案。 我需要做所有事情,但是如何启用curl int wamp服务器,因为我需要这样做? 有什么解决办法吗?我尝试取消注释-不起作用?我尝试插入wamp任务栏图标-php扩展名-php_curl我尝试将php_curl.dll复制到Win sistem中 不行 我需要做什么? 问题答案: 步骤如下: 关闭WAMP(如果正在运行) 导

    • 我试图在PHP安装mongoDB驱动程序。我使用wamp服务器与PHP版本5.5.12.我试了很多次,但不知道我做错了什么。以下是我所做的: 第一步:我从这个链接下载了mongoDB驱动程序包:http://pecl.php.net/package/mongo/1.5.5/windows我在PHP 5.5选项卡下下载了5.5非线程安全(NTS)x64。 第2步:我解压缩下载的文件并复制php_mo

    • 我安装laravel服务器上通过油灰。我把公众和public_html联系起来。文件位于laravel文件夹public_html上方。安装后显示"内部服务器错误" 服务器遇到内部错误或配置错误,无法完成您的请求。

    • 我不熟悉Webbing和php。我曾经尝试过这个简单的php curl代码,但输出结果是空的。i、 当我运行以下代码时,我会得到一个空白网页 我在Windows7 64位pc上使用Wamp服务器2。我有未注释的php_curl。dll的php。wamp中apache/bin和php/bin中的ini文件。我已经检查了wamp服务器上的php_curl扩展。我仍然得到一个空白的网页。有什么问题吗?任

    • 请帮我安装weblogic server。我想安装oracle form and report,在安装过程中,我被告知安装weblogic server以创建中间件主目录。我去了甲骨文网站下载。我下载了用于64位JVM generic的oracle weblogic server 11gr1(10.3.6)一致性包安装程序,因为oracle weblogic server 12c不支持oracle