首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在openssl.cnf中的Apache语法错误上安装SSL

在openssl.cnf中的Apache语法错误上安装SSL
EN

Stack Overflow用户
提问于 2017-12-04 23:03:33
回答 1查看 2.2K关注 0票数 0

我正在学习如何在Apache2.4 get服务器上启动和运行ssl (Windows 2012)。我让web服务器和PHP在没有SSL的情况下运行得很好。

  • 我生成了自己的证书和密钥,并将它们放在C:\Apache24 24\conf中。
  • 我以以下方式修改了httpd.conf:

LoadModule ssl_module模块/mod_ssl.so包括C:/Apache24 24/conf/openssl.cnf

  • 我以以下方式修改了c:/Apache24 24/conf/extra/httpd-ssl.conf:

SSLCertificateFile "c:/Apache24/conf/server.crt" SSLCertificateKeyFile "c:/Apache24/conf/server.key" DocumentRoot "c:/Apache24/htdocs"

  • 添加了以下系统环境变量

Variable Name: OPENSSL_CONF Variable Value: C:\Apache24\conf\openssl.cnf

由于以下错误,我遇到了apache无法启动的问题。

在powershell中运行httpd -t将得到如下结果:

代码语言:javascript
复制
: Syntax error on line 8 of C:/Apache24/conf/openssl.cnf:
Invalid command 'HOME', perhaps misspelled or defined by a module not included in the server configuration

下面是openssl.cnf的第6行到第9行(我没有修改这个文件)。)

代码语言:javascript
复制
# This definition stops the following lines choking if HOME isn't
# defined.
HOME            = .
RANDFILE        = $ENV::HOME/.rnd

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-05 09:33:22

基本上,您试图在httpd配置中包含一个第三方配置文件,这永远不会产生好的结果,因为Apache将永远不会识别其中的内容。删除包含的内容。

如果要添加系统变量,可以使用来自PassEnv模块的mod_env指令。

要让SSL启动并运行,您所需要的只是一个SSL虚拟主机,如下所示:

在服务器配置中,如下所示:

代码语言:javascript
复制
LoadModule ssl_module modules/mod_ssl.so
<IfModule mod_ssl.c>
        Listen 443
        LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
        SSLProtocol all -SSLv3
        SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
        SSLHonorCipherOrder     on
        SSLCompression          off
        SSLSessionTickets       off
        SSLRandomSeed startup file:/dev/urandom 2048 # perhaps this need to be adapted for windows
        SSLRandomSeed connect file:/dev/urandom 2048 # same with this
        SSLSessionCache shmcb:/path/to/logs/ssl_gcache_data(512000)
</IfModule>

而虚拟主机:

代码语言:javascript
复制
<Virtualhost *:443>
ServerName myssllvh.example.com
DocumentRoot /filesystem/path/to/docroot
CustomLog /path/to/logs/mysslvh.log combined
ErrorLog /path/to/logs/mysslvh-error.log

SSLEngine on
SSLCertificateFile /path/to/certs/mysslvh.crt
SSLCertificateKeyFile /path/to/certs/mysslvh.key

# Other stuff here
</VirtualHost>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47643421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档