2017年7月27日 星期四

無法在 GoDaddy 設定 @ 的 CNAME

因為網站是用 WordPress 架在 AWS 上,所以網域應該要用 CNAME 導去 AWS 的位址
本來很單純想說網域(假設是 example.com)想要自動轉去 https://www.example.com
設定上就是加上 @ 的 CNAME
但結果在 GoDaddy 上就是無法設定,它一直顯示紀錄已存在。

花了一些時間查詢以後,雖然細節有點看不太懂,不過總之原因好像是因為 CNAME 其實會跟其他像是 TXT、MX 之類的紀錄重疊 [1-2]
所以某個網域或者子網域如果要設定 CNAME 的話,這個網域或子網域應該要不存在任何除了 A 以外的紀錄
否則會導致紀錄之間衝突,因而產生像是 [3] 的結果,某些既存的其他服務會因為被 CNAME 覆蓋而無效了。

另外 [2] 的回覆也有提到,DNS 的規格文件 RFC 1034 的 3.6.2 小節中,有以下的具體描述。

A CNAME RR identifies its owner name as an alias, and specifies the corresponding canonical name in the RDATA section of the RR.  If a CNAME RR is present at a node, no other data should be present; this ensures that the data for a canonical name and its aliases cannot be different.  This rule also insures that a cached CNAME can be used without checking with an authoritative server for other RR types.

而這個問題要解決的話,以 GoDaddy 來說,可以去設定它免費提供的「網域轉址」
就可以把網域(example.com)自動導向到某個自行指定的網址了。
不過實際實驗時,好像網域轉址只對 HTTP 有效,HTTPS 似乎無效就是了。
也就是說,設定後 http://example.com 會有自動轉址的效果,但是 https://example.com 則沒有反應。

參考資料
  1. Configuring “@” CNAME record in GoDaddy control panel
  2. CNAME and TXT record for same subdomain not working
  3. Why it's a bad idea to put a CNAME record on your root domain
  4. RFC 1034

2017年7月23日 星期日

使用 Django 建立網站(二):建立第一個自定義的頁面

在前一篇當中,我們已經產生了一個叫做 myweb 的專案,接著要建立一個應用程式(App)。
這部份基本上也可以參考 Django 官方的教學文件 [1]。

2017年7月16日 星期日

在 Eclipse 使用 Python 虛擬環境開發 Python

最近再度開始學習 Python,然後看到不少 Python 套件的官方文件提到虛擬環境
因此來紀錄一下,以 Java 開發者的角度來看 Python 虛擬環境相關的基本知識。

2017年7月15日 星期六

在 Ubuntu 14.04 安裝 venv

在 Ubuntu 14.04 上,想要用下述指令建立虛擬環境時,出現沒有安裝 venv 的錯誤訊息

root@default:/# python3 -m venv myvenv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt-get install python3-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

但依照訊息的描述去安裝 python3-venv 時,又出現找不到這個 package 的錯誤。
參考 [1] 的作法,實際上好像應該安裝的套件是 python3.4-venv

apt-get install python3.4-venv
參考資料
  1. Python3-venv not installed ubuntu 14.04

2017年7月6日 星期四

使用 ssmtp 連接郵件伺服器時的驗證問題

同事在使用 ssmtp 連接 Office365 時,Office365 的郵件伺服器一直回覆下述的訊息

535 5.7.3 Authentication unsuccessful

花了一段時間研究後,發現問題其實是在於登入的密碼包含像是 # 這種特殊符號
導致 ssmtp 並沒有送出正確的密碼,因而造成驗證錯誤。

由於目前這仍然是個 open issue,因此也只能紀錄一下,然後去改密碼了 XD。

參考資料
  1. Special characters in ssmtp password

2017年7月5日 星期三

使用 Django 建立網站(一):安裝 Django

其實只是需要用 Python 做 RESTful 的網站,然後隨便搜尋一下就看到 Django,於是就試著用看看。

2017年7月4日 星期二

使用 Java 存取 FTP 伺服器

要存取 FTP 伺服器,簡單地搜尋了五秒,大概就會看到 Apache Commons Net 這個函式庫吧 XD。
包山包海地實作了包括 FTP、NTP、SMTP、Whois 等等的一堆基礎網路相關的協定。
而這篇的目的是為了簡單地紀錄 FTP 的使用方法。(其實真的蠻簡單的 XD)

2017年6月27日 星期二

變更 Privoxy 預設行為

Privoxy 是個 Proxy 伺服器軟體,預設狀況下會做不少擋廣告之類的行為
不過也許在某些網站會遇到這些阻擋行為導致網站無法正常瀏覽。

2017年6月16日 星期五

在部落格使用 SyntaxHighlighter 4

部落格要放程式碼的時候,需要一些套件幫忙換顏色什麼的,讓程式碼更容易閱讀些
我的部落格很久以前就在用 SyntaxHighlighter 3
不過今天突然發現本來用的網域服務要收掉了,必須要把 SyntaxHighlighter 的 JavaScript 換地方放
此外同時也發現 SyntaxHighlighter 4 出現在 Github [1] 上,所以就順便嘗試了升級。