瀏覽標籤:

IIS

IIS 使用 Let’s Encrypt 的 SSL 免費憑證 – 多站台申請

先前有教大家使用 IIS 使用 Let’s Encrypt 的 SSL 免費憑證 ,不知道各位有沒有發現到若多站台都要申請免費SSL的時候,會發生申請一個憑證另一個站台就會掛掉的問題,現在來教大家怎麼用一個憑證涵蓋全部的站台囉!

這邊可以省略新增web.config的動作,因為程式會自動幫你新增唷!

  1. 對著解壓縮後的資料夾按著Shift+右鍵選擇在此處開啟命令視窗(W)
    圖一
  2. 輸入指令(Help)
    letsencrypt.exe --san

    IIS 使用 Let’s Encrypt 的 SSL 免費憑證 - 多站台申請 - 01

  3. 輸入S產生一個用於複數站台的憑證
    IIS 使用 Let’s Encrypt 的 SSL 免費憑證 - 多站台申請 - 02
  4. 輸入你想要新增的站台編號,範例為:1,2,3,4,5
    IIS 使用 Let’s Encrypt 的 SSL 免費憑證 - 多站台申請 - 03
  5. 完成!

延伸閱讀:IIS 網站強制使用 https 加密連線

       

IIS 使用 Let’s Encrypt 的 SSL 免費憑證

  1. 首先在你的IIS伺服器上新增一個web.config檔案,這樣他才可以識別等等要新增的驗證檔案,加以確認這個網域是你的。
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <staticContent>
                <mimeMap fileExtension="." mimeType="text/plain" />
            </staticContent>
        </system.webServer>
    </configuration>
  2. 接著到這個下載letsencrypt-win-simple.v1.9.0.zip,解壓縮到你的Server上面,對著解壓縮後的資料夾按著Shift+右鍵選擇在此處開啟命令視窗(W)
    圖一
  3. 輸入指令如圖二(Help)
    letsencrypt.exe --accepttos --manualhost 網域名稱 --webroot wwwroot路徑
    

    圖二

  4. 結果如圖三,這裡顯示是否替換現有的憑證,我選擇Y (沒出現這段沒關係,可能是我已經安裝過)
    圖三
  5. 這裡詢問是否要指定使用者,選擇N
    圖四
  6. 看到圖五這裡就表示憑證已經自動放入你的IIS裡面了
    圖五
  7. 開啟IIS管理介面繫結->新增->類型(https)->連接埠(443)->主機名稱(剛剛申請的網域名稱)->SSL(剛剛產生的新憑證)
    圖六
  8. 測試一下SSL是否正常顯示吧!
    圖七

延伸閱讀:IIS 使用 Let’s Encrypt 的 SSL 免費憑證 – 多站台申請

       

寶寶Echo Line ChatBot api 教學 (php)

寶寶Echo:

yqx0407i

  1. Echo
    01
  2. 空氣品質查詢
    messageImage_1462620227535
  3. 無線熱點查詢
    messageImage_1462620227535

 

昨晚看到有人在玩FB ChatBot感覺好好玩
影片支援:https://www.facebook.com/D.Weizhe/videos/10208034398169797/

他好像是用node.js在玩的,不過我完全沒有碰過那個東西…
所以只好轉換個跑道,去找找看有沒有之前接觸過一點點的php範例
找了一個晚上後,終於在一個日本網站找到了一篇教學文
網址:https://www.panzee.biz/archives/9115

雖然看不懂日文,但是看看圖看看Code還是可以了解一點點點的!
Line ChatBot的部分就不多說了,請看這裡
好了開始本篇的教學吧!

1. 在伺服器上安裝SSL憑證
本來這個部份我是想用cloudflare的Flexible來解決的,
但後來發現這樣的話Server IP無法加入到Line的白名單裡面,
最後在這篇文章看到作者推薦Let's Encrypt這家免費SSL商,
安裝了一下發現,這家使用的安裝方法無法套用在Windows Server上面阿阿阿阿啊!
沒關係,我幫你們找好了這個解決方案,
我簡單的整理了一下:

2. 在 Line Developers Channels裡面輸入Server本身的IP
01

3. 寫一個callback.php,這裡我是參考剛剛上面提到的這篇,以下是我的Code。

/* 輸入申請的Line Developers 資料  */
$channel_id = "Channel ID";
$channel_secret = "Channel Secret";
$mid = "MID";
 
/* 將收到的資料整理至變數 */
$receive = json_decode(file_get_contents("php://input"));
$text = $receive->result{0}->content->text;
$from = $receive->result[0]->content->from;
$content_type = $receive->result[0]->content->contentType;
 
/* 準備Post回Line伺服器的資料 */
$header = ["Content-Type: application/json; charser=UTF-8", "X-Line-ChannelID:" . $channel_id, "X-Line-ChannelSecret:" . $channel_secret, "X-Line-Trusted-User-With-ACL:" . $mid];
$message = getBoubouMessage($text);
sendMessage($header, $from, $message);

 
/* 發送訊息 */
function sendMessage($header, $to, $message) {
 
	$url = "https://trialbot-api.line.me/v1/events";
	$data = ["to" => [$to], "toChannel" => 1383378250, "eventType" => "138311608800106203", "content" => ["contentType" => 1, "toType" => 1, "text" => $message]];
	$context = stream_context_create(array(
	"http" => array("method" => "POST", "header" => implode(PHP_EOL, $header), "content" => json_encode($data), "ignore_errors" => true)
	));
	file_get_contents($url, false, $context);
}
 
function getBoubouMessage($value){		
	return "寶寶" . $value .",只是寶寶不說";
}

4. 修改Callback URL改為你的php檔案
02

5. 完成!
01

其實我最初是想用ASP.NET寫的,
已經可以取得使用者輸入的文字,
但是後面發現如果要回傳訊息的話必須要POST回去,
有點麻煩…
就乾脆選擇簡單的PHP解決了。

Sample Code From GitHub

       

WordPress 網址刪除醜醜的index.php For Win10 – IIS10

爬文爬了很久,終於找到一個給Win10 IIS用的方案如下:

 

  1. 首先下載此套件Download URL Rewrite Module 2.0

    http://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

  2. 停用IIS
  3. Win+R 輸入regedit
  4. 找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
  5. MajorVersion修改為9(十進位)

就可以進行安裝了!安裝完畢後記得將原本的10修改回來

 

轉載:http://forums.iis.net/t/1223421.aspx?Can+not+install+rewrite+module+on+windows+10+10041+build+IIS10

 

 

       
  • 1
  • 2