2021/03/05

NGINX 沒有 index.html 預設顯示目錄索引

可以參考這一篇

 https://serverfault.com/questions/312796/custom-autoindex-pages-with-nginx

設定 nginx 沒有 index.html 有索引檔案

location / { autoindex on; autoindex_format xml; xslt_stylesheet /path/to/custom.xslt }


但是設定好不是很美觀, 沒有 CSS 的排版及顏色 

https://github.com/gibatronic/ngx-superbindex 

再參考這個專案, 改成 xslt 檔案來配顏色及排版.



大功告成!!




2021/02/03

買個 HTTP SSL 憑證

自從 sslforfree 及 letsencrypt 有提供免費憑證後, 就很少參與付費買憑證這種事 


後來連 wildcard 也跟著免費了 

但, 在商業應用上, 為了某些因素還是得買個有效長一點的憑證, 才不會拿出來感覺像是詐騙網站

搜尋一下網路上賣憑證的廠商超級多的, 實在不知道該如何比較..

後來我只能稍微檢查一下, 看看瀏覽器內的內建憑證商, 有哪些憑證有效期間比較長來選擇

這裡有些基本的憑證資訊要先理解一下,  買起來才會順利
https://haway.30cm.gg/ssl-key-csr-crt-pem/

申請的流程

1.需要先有個私鑰 Private Key
2.還需要有簽署憑證須求檔 CSR
3.再來提交到網站上, 他就會給你生成的 CRT 憑證, 及 PEM or CRT 中繼憑證

以 https://cheapsslsecurity.com/ 為例, 你先選擇 SSL 憑證廠牌後, 在選擇需要的憑證格式
付款後就會進入生成憑證的流程. 
但還是需要先生成 Private Key 才可以

可以用 openssl 工具產生KEY and CSR
ubuntu@hk:~/csr$ openssl req -new -newkey rsa:2048 -sha256 -nodes -out wildcard.apptest.com.csr -keyout wildcard.apptest.com.key -subj "/C=HK/ST=Queenswat/L=Admiralty/O=Topplayer/OU=IT/CN=*.apptest.com"

這裡我生成的是一個 Wildcard 的萬用字元憑證, 網站會依據 csr 生成簽署過後的 CRT 給你, 通常會是一個 ZIP 壓縮檔. 
因為商業銷售與代理機制的關係, 所以通常不會是由 ROOT 根憑證商直接銷售, 所以會有個中間商憑證, 有人也稱他為 chain 或是 Intermediate Certificates 

取得後記得要先區分 CRT , CHAIN , KEY , 後面比較容易理解設定在 Server 上
* CRT - Server Certificate
STAR_申請的網域名稱_com.crt 

* chain - Intermediate Certificates
合併好幾個CA_Bundle.ca-bundle 

* key - Private Key 
產生CSR時的.key

* 在 Linux Nginx 上面要使用 , 可以使用合併 CRT
cat STAR_申請的網域名稱_com.crt  合併好幾個CA_Bundle.ca-bundle > nginx.crt 

* nginx 設定, 修改設定檔加入 SSL 相關憑證設定
# 合併的 crt
ssl_certificate /etc/nginx/ssl/nginx.crt;
# Private Key 
ssl_certificate_key /etc/nginx/ssl/nginx.key;

這就可以大功告成了, 接下來去瀏覽器檢查看看, 憑證顯示是否正確.