我想使用带有 https 的 Mac OS X 进行本地开发测试。如何才能轻松地让 Apache2 响应 SSL,仅用于测试目的 - 我不需要真正的证书,只需要一个假证书来使本地 https 正常工作
答案1
对于本地开发测试,自签名证书就足够了。您可以使用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]: 州或省名称(全名)[伯克郡]: 地点名称(例如城市)[纽伯里]: 组织名称(例如公司)[My Company Ltd]: 组织单位名称(例如部门)[]: 通用名称(例如您的姓名或服务器的主机名)[]: 电子邮件地址 []: 请输入以下‘额外’属性 与您的证书请求一起发送 挑战密码[]: 可选的公司名称[]:
它相当简单,通用名称就是您的服务器的主机名,如括号中所示。
生成自签名证书:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
在 httpd.conf 中为 Apache 配置 SSL:
SSLEngine 开启 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