mac下Apache服务配置Https

    xiaoxiao2021-12-12  2

    iOS开发都是用的Mac OS X,而Mac OS X中正好自带了Apache服务,所以这里我们只需要简单的在终端中敲击一行命令,就能启动Web服务了。sudo apachectl start这时我们在浏览器中输入"http://127.0.0.1/",如果出现It Works!,那么恭喜你Web服务器启动成功。Web文件目录是:"/Library/WebServer/Documents/", 系统级根目录默认没有开启目录列表, 开启方法:编辑 "/etc/apache2/httpd.conf "文件。 搜索找到<Directory "/Library/WebServer/Documents">,按下列图中红框标示处修改。DoucumentRoot可以改为任何路径。

    OpenSSL自制证书

    开启HTTPS的第一步,就是需要先生成ssl证书。 生成服务器的私钥 mkdir /private/etc/apache2/ssl cd /private/etc/apache2/ssl sudo openssl genrsa -out server.key 1024 创建csr(证书签发请求) (Common Name(e.g. server FQDN or YOUR name)必须为服务器的ip或域名) sudo openssl req -new -key server.key -out server.csr 生成CA私钥 sudo openssl genrsa -out ca.key 1024 用CA的私钥产生CA的自签署证书 sudo openssl req -new -x509 -days 365 -key ca.key -out ca.crt 创建demoCA demoCA里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts sudo openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key这样我们就生成了server.crt,server.key,ca.crt文件。将 server.crt,server.key配置到服务上,

    我们存放的位置是"/private/etc/apache2/ssl/server.crt","/private/etc/apache2/ssl/server.key", ca.crt放到文件根目录中。

    server.key文件内容

    -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDCCVPjNbXYFOS2eRqDmvdoXWSVYUE2ktWfOkhXhfHQLU7K2wnS DuqkmVSVDrbE1U7ChikZSbL0v6cwaHYoyQUY8izlzQwbQDLMLBBR0h/G3u+IfMKF IoagV2hT5c/B7mDvKNPy/g1r8w85zRiov+e2DbLf6OqAeZ9mkH8TP1Xt9wIDAQAB AoGAL7DzOWk+JLod7OufJLG2FaS+0ChzSuKUNuqwVTLK2IwKTbnAlCyuZ354V5qi OYbkMNOgzmJa5eUlRrSmNigSZD2oZTmQ/Ro+FE8dRHKQSKqMaFF8/yzMXyjeGhN0 VEFtAtJZqynttZ8pD8u0+exZhqln1krpI4HG0Ed+97LzaOECQQDk6/rjW/rMdYRg OrWQBy6JE/GrO0Pd2CwmO/8w4pQ72XvifkgEyX/RdKcpOc6jd0EWzZRJ/a65DcKc KXqWmejLAkEA2Pz6ZJlTcrw5B2ATI3F6utrYI6QbCJ06EY7yNe/qqm966dTJHNnk rf1AXf5rux75htgT01EIP+2YSMS7JcrmBQJAeAJyK4EL0OYGuL/ucQwizEAFYKQY JxPtyTmIxeLynRGdzZYwQTo1ZOQHwigI+U9Kcx7hD40LbP4WuPFRz+Pt0wJBAMYs FUr3NV1eRf9UYWZHZ71rzWaPpBjz72rF0LQuD3XlJq6UJbDx14aH+tddW2qkWWQr x7+BDDXGewRKmFlluzkCQQDjcP51r4DEEfQfxYavVGldyMXshD9ra47uCJC8w4RC ND/pDfbkiZbjj5IFvvYt/JI/JEJpQ0/kQRvZCSB6f9y7 -----END RSA PRIVATE KEY-----server.csr文件内容

    -----BEGIN CERTIFICATE REQUEST----- MIIBnTCCAQYCAQAwXTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEWMBQGA1UEAxMNMTky LjE2OC4wLjEwODCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwglT4zW12BTk tnkag5r3aF1klWFBNpLVnzpIV4Xx0C1OytsJ0g7qpJlUlQ62xNVOwoYpGUmy9L+n MGh2KMkFGPIs5c0MG0AyzCwQUdIfxt7viHzChSKGoFdoU+XPwe5g7yjT8v4Na/MP Oc0YqL/ntg2y3+jqgHmfZpB/Ez9V7fcCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GB AIC+r9VDCfELC1hY1x5IUD0874Hpvs6+ycpPi5/L3oczF+xZyeSkfogRwzXt3NZM JWSOHc2CO+VELw1cH/PIVKQbibki94GcMosMdW7D+4mAwHV8Fv5nS3InePhOGHHi 9EwlyvBRCEsAez4HNon30nHl0ZfFkrhGxfcOOMQz5oiw -----END CERTIFICATE REQUEST-----

    配置Apache的SSL服务

    仍然是编辑/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 192.168.0.108 DocumentRoot "/Library/WebServer/Documents" //自己定义的路径 </VirtualHost>检查配置,如果有问题按照提示开启相应服务即可: sudo apachectl configtest 没问题后,重启服务: sudo apachectl restart 这样就可以用https访问我们的本地服务器了。
    转载请注明原文地址: https://ju.6miu.com/read-900178.html

    最新回复(0)