如何在Mac OS X的Apache2中轻松创建SSL证书并对其进行配置?


34

我想将Mac OS X与https一起用于本地开发测试。我如何轻松地使Apache2对ssl做出响应,仅用于测试建议-我不想要真实的证书,只是伪造的才能使本地https工作

Answers:


58

对于本地开发测试,自签名证书就足够了。您可以使用OpenSSL套件生成一个,如下所示:

生成私钥:

openssl genrsa -des3 -out server.key 1024

输出:

生成RSA私钥,1024位长模数
................................................... ....... ++++++
........ ++++++
e是65537(0x10001)
输入PEM密码:
验证密码-输入PEM密码:

输入您的私钥密码。

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

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

它将要求这样的详细信息:

国家名称(2个字母代码)[GB]:
州或省名称(全名)[Berkshire]:
地点名称(例如城市)[纽伯里]:
机构名称(例如公司)[My Company Ltd]:
组织单位名称(例如,部分)[]:
通用名称(例如,您的名称或服务器的主机名)[]:
电子邮件地址 []:
请输入以下“额外”属性
与您的证书请求一起发送
质询密码[]:
可选的公司名称[]:

这很简单,通用名称是服务器的主机名,如方括号中所示。

生成自签名证书:

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

在httpd.conf中为Apache配置SSL:

启用S​​SLEngine
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(用证书和密钥的路径适当替换路径)

重新启动Apache

apachectl restart

Apache将要求您输入密钥的密码。如果您认为将要关闭很多服务器,则可能要从密钥中删除密码,以便避免每次都输入密码。如果没有,请不要担心。如果是这样,请在步骤2(生成CSR)之后完成此步骤:

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key

这几乎让我感到担忧。当我尝试使用Rails访问Rails中的某个页面时,该页面存在,但是当我使用https时,它返回未找到的页面。你知道会是什么吗?
Daniel Cukier 09年

您是否将虚拟主机更改为在端口443上使用https?它应该看起来像这样:<VirtualHost 192.168.1.100:443> SSLEngine On等等。。。</ VirtualHost>
John T

为此,我在Lion上获得了SSL证书,可以正常工作。只是以为我会补充几点,但这应该会使您的生活更轻松。苹果的Apache有一个httpd-ssl.conf,它已经设置为可以在/ private / etc / apache2中查找,因此,如果您放置服务器。*文件,则只需编辑一个文件。另外,您还需要编辑httpd.conf,因为默认情况下会注释掉包含httpd-ssl.conf的行。最终,365天有点短,您可能想要设置一个更长的到期日期,或者明年再做一次(我用了3650)
GordonM 2011年

如果有人遇到像我一样的问题,您将很高兴找到此链接,该链接说明了如何正确地使用virtualhostx设置虚拟主机以与sslyellowrobot.heroku.com/blog/2012/01/22/…一起使用。
Rerequestual,2013年

如果它是您的开发机,则可能需要不带密码的私钥:openssl rsa -in server.key -out server.nopass.key
Aldekein 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.