使用MAMP测试HTTPS文件
我在笔记本电脑上本地运行MAMP,我想在本地尽可能多地进行测试。不幸的是,由于我从事电子商务(PHP)的工作,因此通常我会以大多数结帐形式强制使用ssl,而在笔记本电脑上它只会失败。我是否可能缺少一些简单的配置来允许" https"在MAMP下运行?请注意,我知道我可以手动配置Apache,重新编译PHP等。但是我只是想知道对于懒惰的程序员是否有更简单的方法。
谢谢
解决方案
回答
除非我们愿意购买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
回答
NOTE: startssl is no longer supported after version 2+ of MAMP. You have to update the config files (httpd.conf) to enable ssl.
我们可以很容易地修改MAMP的免费版本以默认启用ssl。一旦设置了apache的所有SSL部分并使其正常工作,以便调用apachectl startssl即可,只需编辑该文件
/Applications/MAMP/startApache.sh
在我们最喜欢的文本编辑器中,将start参数更改为startssl,我们将为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>"。
找到定义" SSLCertificateFile"和" SSLCertificateKeyFile"的行,将其设置为
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.keyopenssl rsa -in server-pw.key -out server.key
创建证书签名请求,按回车键获取默认值openssl req-新-key server.key -out server.csr
创建证书openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
重新启动服务器。如果遇到任何问题,请检查系统日志文件。首次访问https:// localhost /
时,系统会要求我们接受证书。