apache代理配置https

原文:https://mp.weixin.qq.com/s/Tw4UzX73Q7MSw3GJXnpN8Aphp

微信小程序開發https設置

2017-04-06  格里菲斯 互聯網工做者

微信官方規定小程序的容許請求的地址都是https開頭,因此若是你想搞微信小程序開發,那麼服務的地址都必須以https協議的方式提供,也就是說http是不能用的。並且每月僅能作出5次修改,因此且行且珍惜吧!sql

 

 

在瞎jb折騰了三天後,https安全協議的問題終於解決了。其實你也沒必要擔憂,由於須要修改的地方也就兩三處。只要你跟着個人思路走,問題確定是能夠解決的。個人環境以下:小程序

-阿里雲CES 微信小程序

-Windows Server2008安全

-Apache2.4(包含了ssl模塊,推薦下載Appserv安裝包,Apache,Mysql和PHP一塊兒打包配套好了,很方便)微信

 

一. 證書申請post

我使用的是阿里雲的免費證書,在CA證書功能項下點擊申請就行,阿里雲官方會給你生成全部你想要的配置文件,並在域名解析中插入一條很是必要的TXT記錄。而後你把這個證書包下載後,放置到Apache下新建的cert目錄,就能夠進入到後續的步驟了。ui

 

 

這個步驟相對來講比較簡單,須要注意的地方也很少,按照阿里雲官方的提示來,就可以操做成功了。值得注意的是你在申請證書過程當中,證書是免費的,你不用付費,可是須要下單,下單完成後須要完善你的域名信息,而後提交審覈。審覈完成後,官方自動給你發放證書,順利的話一個小時就能搞定。阿里雲

 

好多同窗申請證書時,下單後無論了,等着他給你發,可域名信息沒有填呀,官方也不知道你給那個域名申請證書,因此完善域名信息這個步驟不要忘了。加密

 

二. Apache配置

— 修改httpd.conf文件

申請到證書後,下載Apache對應的文件,解壓後放置到Apache根目錄下新建的cert目錄中,若是沒有那麼就新建一個cert目錄。

 

打開Apache的配置文件httpd.conf,在這個文件中保證這兩條語句以下兩句話沒有被註釋,並可以在對應的文件下找到相應的文件。若是找不到相應的文件,那麼說明Apache的安裝是有問題的,須要下載其餘可用的版本。

必須保證如下這兩個配置可用,前面沒有被「#」號註釋:

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

 

第一個配置的意思是加載mod_ssl.so文件,因此應該檢查下Apache目錄下的modules文件夾中是否存在mod_ssl.so文件;第二句話的意思是導入Apache根目錄下conf/extra/文件夾下的httpd-ssl.conf配置文件,也就是下面咱們將要編輯的文件。

 

以上這兩句話很是重要,導入的文件必定是mod_ssl.so和httpd-ssl.conf,網上的教程說的是其餘的文件,是不能成功的。

 

— 修改conf/extra/文件夾下的httpd-ssl.conf文件

下面修改conf/extra/文件夾下的httpd-ssl.conf配置文件,找到Apache根目錄下conf/extra/文件夾裏的httpd-ssl.conf文件。

 

添加以下配置:

# 添加 SSL 協議支持協議,去掉不安全的協議
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
# 修改加密套件以下
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
# 證書公鑰配置
SSLCertificateFile cert/public.pem
# 證書私鑰配置
SSLCertificateKeyFile cert/214063864580972.key
# 證書鏈配置,若是該屬性開頭有 '#'字符,請刪除掉
SSLCertificateChainFile cert/chain.pem

 

這裏有幾個須要注意的地方:

1.配置的內容不能重複。好比httpd-ssl.conf若是包含了原有的SSLCertificateFile節點,那麼把須要把原有的節點註銷了,新加入的節點纔會有效。

 

因此在加入以前你應該查找一下原來的文件中是否已經有了必要的配置,若是有了那麼把原來的節點內容註銷了,而後加入新的配置。

 

2. 全部的內容都是針對<VirtualHost _default_:443>這個標籤中的內容進行修改。若是你修改的是其餘的內容,或者是直接把阿里雲提供的配置信息複製粘貼到httpd-ssl.conf文件的底部,那麼是不會成功的。

 

3. 修改域名和https指向的根目錄。網上不少的文章幾乎沒有提到過這條內容,這也是不少同窗配置沒有成功的根本緣由。需修改<VirtualHost _default_:443>標籤下的DocumentRoot和ServerName這兩項內容。

 

 

DocumentRoot,顧名思義就是https協議指向的根節點,就好像http默認是指向www目錄同樣。這個配置你能夠自定義,也可使用默認的htdocs文件夾,默認狀況下是沒有這個目錄的,新建一個而後拷貝phpinfo.php文件到這個文件夾下。

 

ServerName就是你在申請證書時填寫的域名,注意要保留https默認的端口號443。

 

這是個人httpd-ssl.conf結尾部分的內容,注意除了SSLProtocol和SSLCertificateChainFile配置以外的內容都被註銷了,由於其餘的配置我改的是原來的內容,因此從阿里雲拷貝過來的相同的內容就註釋掉了。

 

 

最後重啓Apache,新的設置就會啓用了。

上個最後配置成功後,請求的效果吧!

相關文章
相關標籤/搜索