MAC Sierra 本地配置HTTPS功能

來(lái)源 https://gist.github.com/jonathantneal/774e4b0b3d4d739cbc53
強(qiáng)烈建議,在執(zhí)行<code>.conf</code>相關(guān)操作時(shí),請(qǐng)務(wù)必先備份相關(guān)文件,例:

sudo cp ..some ..some.bak

一 配置個(gè)人的Sites文件夾

1 確認(rèn)<code>apache</code>

打開(kāi)終端,啟動(dòng)<code>apache</code>

sudo apachectl start

訪問(wèn)http://localhost/ 如果提示<code>It works</code>,表示<code>apachectl</code>已OK。

2 配置<code>apache</code>

小技巧:vi打開(kāi)后按shift+: 提示后輸入

set number

可顯示終端行數(shù):

sudo vi /etc/apache2/httpd.conf

將 line 212 替換為可用的域名

ServerName localhost`

下一步, 將line 160 和 line 499 去掉#號(hào)來(lái)打開(kāi)<code>Virtual Hosts</code>.

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

Include /private/etc/apache2/extra/httpd-vhosts.conf

另,如果沒(méi)打開(kāi)php的話,可以將169前#號(hào)去掉打開(kāi)php

LoadModule php5_module libexec/apache2/libphp5.so

3 配置<code>Virtual Hosts </code>

sudo vi /etc/apache2/extra/httpd-vhosts.conf

將里面所有內(nèi)容替換成以下內(nèi)容,其中<code>indieweb</code>改成你的用戶名,可在終端<code>whoami</code>查看

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Users/indieweb/Sites/localhost"

    <Directory "/Users/indieweb/Sites/localhost">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

4 重啟<code>apache</code>

sudo apachectl restart

5 配置儲(chǔ)存網(wǎng)頁(yè)文件夾

mkdir -p ~/Sites/localhost

創(chuàng)建一個(gè)html便于展示結(jié)果

echo "<h1>localhost works</h1>" > ~/Sites/localhost/index.html

現(xiàn)在打開(kāi)http://localhost/,看是否顯示<code>localhost works</code>,如果不是的話請(qǐng)檢查一下配置。

二 配置SSL

1 創(chuàng)建證書(shū)文件夾

sudo mkdir /etc/apache2/ssl

2 生成私有key和證書(shū)

sudo openssl genrsa -out /etc/apache2/ssl/localhost.key 2048

sudo openssl req -new -x509 -key /etc/apache2/ssl/localhost.key -out /etc/apache2/ssl/localhost.crt -days 3650 -subj /CN=localhost

3 將證書(shū)添加到鑰匙鏈中,并且添加始終信任

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /etc/apache2/ssl/localhost.crt

4 配置<code>Virtual Host</code>

sudo vi /etc/apache2/httpd.conf

5 打開(kāi) lines 89 和143 前的#適配HTTPS

LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache2/mod_ssl.so

6 打開(kāi)line 516前#號(hào)

Include /private/etc/apache2/extra/httpd-ssl.conf

7 配置<code>Virtual Host</code>

sudo vi /etc/apache2/extra/httpd-vhosts.conf

8 添加443端口,將<code>indieweb</code>替換成自己的用戶名

<VirtualHost *:443>
    ServerName localhost
    DocumentRoot "/Users/indieweb/Sites/localhost"

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/apache2/ssl/localhost.crt
    SSLCertificateKeyFile /etc/apache2/ssl/localhost.key

    <Directory "/Users/indieweb/Sites/localhost">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

9 配置ssl文件,此處原文有錯(cuò)誤

sudo vi /etc/apache2/extra/httpd-ssl.conf

10 將line 44,45 注釋,修改成自己的路徑

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

11 檢查是否正確

 sudo apachectl configtest 

12 重啟apache

sudo apachectl restart

三 確認(rèn)結(jié)果

https://localhost/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容