我在我的笔记本电脑上本地运行 MAMP,并且我喜欢在本地尽可能多地进行测试。不幸的是,由于我从事电子商务(PHP)工作,我通常在大多数结账表单中强制使用 ssl,但它在我的笔记本电脑上失败了。是否有任何我可能缺少的简单配置来允许“https”在 MAMP 下运行?请注意,我知道我 可以 手动配置Apache,重新编译PHP等。但我只是想知道对于懒惰的程序员是否有更简单的方法。

谢谢

有帮助吗?

解决方案

笔记:MAMP 2+ 版本之后不再支持startssl。您必须更新配置文件(httpd.conf)才能启用SSL。

您可以非常轻松地修改免费版本的 MAMP 以默认启用 ssl。一旦你设置了 apache 的所有 SSL 部分并让它工作,以便调用 apachectlstartssl 工作,只需编辑文件

/Applications/MAMP/startApache.sh

在您最喜欢的文本编辑器中并更改 开始 论证 启动SSL 您将拥有 MAMP 启动器以 ssl 模式启动 apache。

其他提示

首先,复制 /Applications/MAMP。

打开 /Applications/MAMP/conf/apache/httpd.conf
线下
# LoadModule foo_module modules/mod_foo.so
你添加
LoadModule ssl_module modules/mod_ssl.so
删除所有行 <IfDefine SSL></IfDefine SSL>.

打开 /Applications/MAMP/conf/apache/ssl.conf
删除所有行 <IfDefine SSL></IfDefine SSL>.
找到定义线 SSLCertificateFileSSLCertificateKeyFile, ,将其设置为
SSLCertificateFile /Applications/MAMP/conf/apache/ssl/server.crt SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl/server.key

创建一个新文件夹 /Applications/MAMP/conf/apache/ssl
放入终端并导航到新文件夹
cd /Applications/MAMP/conf/apache/ssl
创建私钥,给出密码
openssl genrsa -des3 -out server.key 1024
删除密码
cp server.key server-pw.key
openssl rsa -in server-pw.key -out server.key
创建证书签名请求,按回车键获取默认值
openssl req -new -key server.key -out server.csr
创建证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

重新启动您的服务器。如果遇到任何问题,请检查系统日志文件。第一次来访时 https://localhost/ 您将被要求接受该证书。

似乎没有更简单的方法 除非你愿意购买MAMP Pro.

据我所知,将 SSL 与 MAMP 结合使用的唯一方法是 为 Apache 配置 mod_ssl. 。mod_ssl 与 MAMP 捆绑在一起,我发现配置非常简单。请注意,您可能必须从命令行启动 Apache 才能使用它:

/Applications/MAMP/bin/apache2/bin$ ./apachectl stop
/Applications/MAMP/bin/apache2/bin$ sudo ./apachectl startssl
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top