为SSL配置MAMP

dje*_*tee 36 apache ssl https mamp

好的编码员,我正在尝试在我的mac上使用SSL配置MAMP用于开发目的.我已阅读并尝试了以下说明:
http ://www.emersonlackey.com/article/mamp-with-ssl-https http://www.webopius.com/content/355/getting-mamp-working-with- SSL-ON-OS-X

没有运气.我可以打任何127.0.0.1或本地主机以http但两者https://localhosthttps://127.0.0.1返回找不到主机错误.

看着phpinfo,我看不到mod_ssl被加载了.

有没有人用os x 10.6.7做到这一点?我不知道从哪里开始.

希望有人能提供帮助.

谢谢

------编辑开始------

以下是我对配置文件所做的更改,以使https正常工作.请按照上面列出的方法获取创建的证书/密钥并删除密码(如下面@dallas所述).

httpd.conf文件

注释掉ifdef以确保执行LoadModule

#<IfDefine SSL>
    LoadModule ssl_module modules/mod_ssl.so
#</IfDefine>
Run Code Online (Sandbox Code Playgroud)

确保文件中包含以下信息......

Listen 80
ServerName localhost:80
Run Code Online (Sandbox Code Playgroud)

ssl.conf中

添加以下内容....

<VirtualHost localhost:443>
    DocumentRoot /Users/myname/Documents/DevProjects/WebdevProjects
    ServerName localhost
    SSLEngine on
    SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
    SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在现有之前

<VirtualHost _default_:443>
Run Code Online (Sandbox Code Playgroud)

server.crt和server.key是根据obove tuts的链接新创建的.

评论出来

#<IfDefine SSL> 
Run Code Online (Sandbox Code Playgroud)

在第35行附近及其在245行附近的关闭标记以启用该行...

Listen 443
Run Code Online (Sandbox Code Playgroud)

在两者之间,根据上面的VirtualHost定义更新对新创建的文件的所有证书引用.

Rob*_*ert 41

如果您使用的是MAMP 3或4,则说明略有不同.这对我有用,从没有Pro的Mavericks上全新安装的MAMP 3.0.5开始.

更新:如本答案所述,在修复Apache之后仍可在Yosemite上运行.

进一步更新:评论表明这至少仍然适用于MAMP 4.2.1.

生成证书

这部分直接来自教程,所以如果你已经这样做了,你可以跳到"设置MAMP".

使用终端在默认文件夹中生成私钥:

cd ~
# generate a private key
openssl genrsa -des3 -out server.key 2048
# make up a passphrase and remember it, you’ll need it 3 more times.

# generate certificate signing request
openssl req -new -key server.key -out server.csr
# same password
# answer the questions, use "localhost" for your Common Name
Country Name: US
State Name: California
Locality: My City
Organization: My Company
Organization Unit Name: # leave blank
Common Name: localhost
Email address: email@example.com
A challenge password: # leave blank
An optional company name: # leave blank

# generate the certificate from the CSR for 5 years
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt

# remove the password requirement from the server key
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key
Run Code Online (Sandbox Code Playgroud)

设置MAMP 3.0.5

这是以前版本的说明稍微偏离的地方.文件名和位置已更改,conf文件中的某些命令不同.以下是全新安装的MAMP 3.0.5对我有用的内容.

将证书文件(server.key和server.crt)移动到:

/应用程序/ MAMP/conf目录/阿帕奇/

打开Apache的httpd.conf文件:

/Applications/MAMP/conf/apache/httpd.conf

# set your listen port to 80 (near the top of the file)
Listen 80

# set your ServerName to localhost:80 (default is 8888)
ServerName localhost:80

# uncomment the line that includes the secure (SSL/TLS) connection conf
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf
Run Code Online (Sandbox Code Playgroud)

保存并关闭.现在打开Apache的ssl conf文件:

/Applications/MAMP/conf/apache/extra/httpd-ssl.conf

找到<VirtualHost>条目(文件末尾的大块<VirtualHost _default_:443>以及以...结尾</VirtualHost>)并用以下内容替换整个内容:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /Applications/MAMP/conf/apache/server.crt
        SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

保存并关闭.启动您的MAMP服务器.您应该能够在http://localhost和访问您的文档根目录https://localhost.

  • 似乎不适用于MAMP 4.1 (4认同)
  • 也确认在MAMP 4.1.1上有效 (3认同)
  • 这很好用,但仍然没有让 https:// 在浏览器中工作。关于如何摆脱 Chrome 的“您的连接不是私密的”警告有什么建议吗?似乎证书不受信任(NET::ERR_CERT_AUTHORITY_INVALID)。 (2认同)
  • 该解决方案也适用于MAMP 4.2.1(Mac OS X Sierra) (2认同)

Man*_*ill 25

对于https来说这是非常困难的方式,这是一种简单的方法.

打开MAMP Pro.

  1. 在"服务器"选项卡中确保您的HTTP端口为80,HTTPS端口为443
  2. 单击"主机"选项卡
  3. 单击"加号箭头"以添加新主机.
  4. 添加127.0.0.1作为主机名
  5. 单击SSL启用
  6. 选择目录您的htdocs或网站文件夹在哪里
  7. 单击SSL选项卡
  8. 按下面的按钮创建自签名证书.
  9. 然后它将在保存后询问保存位置,它将选择证书自动.
  10. 重新启动您的MAMP服务器.

请享用!!!!

键入:https with localhost然后您可以看到结果.

下一个

  • 这要求MAMP Pro需要许可证. (2认同)

小智 4

我刚刚遇到了同样的问题,但能够解决它。

我在跑; Mac 操作系统 10.6.7 MAMP 1.9.4

我只读过 webopius 的 tut,它做得很好,但它错过了一些东西。

我改变了httpd.conf

Listen 80不是Listen 127.0.0.1:80

我也忘记在终端中运行它
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

这会删除使用密钥所需的密码,如果您不在终端中启动 apache,则无法输入证书的密码短语。

您可以做的是,运行此命令启动 MAMP 的 apache 并查看是否弹出任何错误。

sudo /Applications/MAMP/Library/bin/apachectl start

好吧,想想就差不多了。