Mac OS X中Apache开启ssl

升级ios7.1之后用那个企业证书打测试包网页上不能下载,提示Mainfest.plist需要用https,然后就看了下Apache的https的设置,虽然后来还是不行,先略下不表,下文再说,把这个过程记录了一下

 

1.生成主机密钥

这里会要求输入密码,不输入,直接回车

 

mkdir /private/etc/apache2/ssl
cd /private/etc/apache2/ssl
sudo ssh-keygen -f server.key

 

2.生成证书请求文件

 

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

 

 

3.生成ssl证书

用上一步生成的文件生成ssl证书

 

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

 

 

到这里,自签名证书就生成好了,下面就开始配置Apache

 

/private/etc/apache2/httpd.conf ,编辑这个文件去掉下面三行前面的 '#'

LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf
Include/private/etc/apache2/extra/httpd-vhosts.conf

 

/private/etc/apache2/extra/httpd-ssl.conf,编辑这个文件去掉下面两行前面的 '#'

SSLCertificateFile "/private/etc/apache2/ssl/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/ssl/server.key"

 

/private/etc/apache2/extra/httpd-vhosts.conf ,编辑这个文件在 'NameVirtualHost*:80' 后面添加:

NameVirtualHost *:443

在文件末尾添加:

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /private/etc/apache2/ssl/server.crt
    SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
    ServerName localhost
    DocumentRoot "/some/website/directory/"
</VirtualHost>

 

 

 

到这里就配置完了,检查配置,没问题的话重启Apache就好了

sudo apachectl configtest
sudo apachectl restart

 

正常的话,就可以用https访问了。

 

posted on 2014-03-12 15:39  再问天  阅读(4119)  评论(2编辑  收藏  举报