Mac自带的apache怎么支持https协议访问

首先,介绍下使用背景,我要搭建一个简单的支持https协议的服务器,用来存放访问我的egret游戏项目。我的机器是mac电脑,系统是macOS Big Sur 11.3。我原来的apache服务器可以进行http访问,但是不知此https协议。在网上找了好多都不能用,报错。后来在简书上找到一篇,测试可用。参考链接放在文档下面。

一、搭建Web服务器

Mac有自带Apache服务,所以这里我们只需要简单的在终端中敲击一行命令,就能启动Web服务了。

sudo apachectl start

  

这时我们在浏览器中输入http://127.0.0.1/,如果出现It Works!,那么恭喜你Web服务器启动成功。
Web默认访问的文件目录是:/Library/WebServer/Documents/,可以打开目录,对 index.html 文件进行编辑修改。

 Mac自带的apache怎么支持https协议访问

 

 


Mac自带的apache怎么支持https协议访问

 

 

二、自签名证书

1、自签名证书

1)、 新建文件夹

先在桌面创建个CustomSSL文件夹,用来放生成的私钥证书文件
打开终端cd到CustomSSL文件夹

cd desktop/CustomSSL

  

2)、 在SSL文件夹中生成私钥

openssl genrsa -out server.key 2048

  这样是生成rsa私钥,openssl格式,2048位强度。server.key是密钥文件名

3)、 生成自签名证书

openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt

  

req是证书请求的子命令,-sha256表示算法,-x509表示输出证书,-days365 为有效期,此后根据提示输入证书拥有者信息;

其中要输入国家、省份、地区、公司、邮箱等信息,按照个人情况随便填下就行。
Common Name 应该与域名保持一致(如我的电脑搭建的服务器IP地址为10.73.20.19)

Mac自带的apache怎么支持https协议访问

 

 

2、配置Apache服务器SSL

 

1)、放入证书

server.crtserver.key两个文件拷贝
放到/etc/apache2/目录

 
Mac自带的apache怎么支持https协议访问

 

 

2)、修改配置文件

  • 编辑/etc/apache2/httpd.conf文件

  搜索下面内容,并去掉注释符号#

LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Include /private/etc/apache2/extra/httpd-ssl.conf
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
  • 打开/etc/apache2/extra/httpd-ssl.conf文件

  去掉以下两项注释并检查是否与之前安装私钥和证书的路径一致

  

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

  Mac自带的apache怎么支持https协议访问

 

 

  • 编辑/etc/apache2/extra/httpd-vhosts.conf文件

在 <VirtualHost *:80> .....</VirtualHost> 后面添加一段如下内容:

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /private/etc/apache2/server.crt
    SSLCertificateKeyFile /private/etc/apache2/server.key
    ServerName 10.73.20.19 
    DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>

 

注意 ServerName 填写域名与所需访问一致

 

3)、重启服务器

sudo apachectl restart

  访问 https://10.73.20.19/
提示不安全什么的(因为自己的证书没添加到浏览器信任列表),继续访问

Mac自带的apache怎么支持https协议访问

 

 

Mac自带的apache怎么支持https协议访问

 

 HTTPS可以用啦!此处应有掌声????????

 

 
到这一步,基本可以满足https访问到测试要求。更多内容,参考链接:https://www.jianshu.com/p/d22baeae50ea

 


Mac自带的apache怎么支持https协议访问

上一篇:文件上传漏洞


下一篇:.Net Core 静态文件跨域访问