怎樣在OpenShift上使用自訂域名?

10 / 21, 2013 伺服器 , 免費空間 , 虛擬主機 , 雲端

我相信我介紹了OpenShift那麼久,都好像忘記了告訴大家一個很重要的技巧:就是到底如何在OpenShift上使用自訂域名呢?大家在自己嘗試使用自訂域名的時候都好像在OpenShift的控制介面找了半天都找不到到底設定這個的頁面到底在哪裡?現在終於可以有解答了!

首先當然是登入OpenShift的控制介面了!

openshift-alias-1

然後選擇您要設定自訂域名的應用程式。

openshift-alias-2

你會進入到這個畫面。然後請點擊「Change」以指定自訂域名。

openshift-alias-3

然後輸入您的域名就可以開始設定DNS了!

openshift-alias-4

openshift-alias-5

然後就可以開始設定DNS了!請利用CNAME紀錄指到你的應用程式域名。

openshift-alias-6

等待DNS更新後你就會發現所有東西都已經完成了!

openshift-alias-7

  • Nich

    請問licson lee大,在自訂域名按save之後,DNS設定那個頁面要怎麼進入?
    架網站菜鳥 希望幫忙解答

  • 高啟峰

    非常感謝!很需要

  • amoses

    報告~

    原本使用CloudFlare做CDN的WP可以登入控制台,今天突然無法進入控制台
    經在下糊里糊塗摸索了一下,發現是CloudFlare不給使用SSL,因此有https的頁面便開不了。因此使用免費版的如需進入控制台做任何設定每次都須先pause CloudFlare暫停CDN了…

    • s3131212

      我記得Openshift可以設定不用SSL(印象中只要綁網址就不會自動進SSL了)

      • amoses

        有些資料像這個 http://goo.gl/5crmCK
        說在wp-config.php裡面
        define(‘FORCE_SSL_ADMIN’, true);
        就會強制用SSL
        反之true改成false就可以不用SSL
        但是用SSL不是會比較安全嗎?

        • s3131212

          是啊,可是既然要用自己的網域,就不能使用Openshift核發的SSL,因為Openshift給的SSL只能用在xxxxxxx.rhcloud.com,不能用在自己的網域

          • amoses

            謝謝告知

            就是這裡顯示的 免費帳號沒有自訂域名的SSL吧?
            所以要加強WP控制台的安全性要找別的方法了

            • s3131212

              不然也可以登入時使用Openshift預設網址(xxx.rhcloud.com),首頁/前台就用自定義的網域

              • amoses

                我試了可是不行
                可能是因為控制台一般設定那邊
                WordPress 位址(URL)跟 網站位址(URL)
                都已經設成自有域名的關係?

              • Licson Lee

                其實只要把wordpress網址設定成OpenShift的網址,站台網址設定成你的自訂網址就可以正常的用SSL了

              • amoses

                大感謝兩位前輩!這真是太神奇了^^
                而且還順便幫我解決了JetPack與WordPress.com無法連結的問題
                原來都是SSL的問題!!

              • s3131212

                恩,其實我真的很不建議WP使用SSL,因為不僅沒必要,而且會導致有些外掛異常

  • amoses

    Licson大大您好
    拜讀您的文章以及在網路上爬了許多文先自行研究獲益良多,但仍有些許困惑
    想請教以下關於OpenShift空間+GoDaddy域名架設WordPress的設定觀念是否正確

    首先,假設在OpenShift安裝好的WordPress網站之次級域名為abc-def.rhcloud.com
    然後在GoDaddy註冊的域名為abcdef.com

    1. 因為OpenShift只有提供CNAME的「別稱」域名綁定

    沒有提供Nameserver也無法用A記錄指向IP (?)
    所以在Godaddy只能夠用有www的網址www.abcdef.com來綁定abc-def.rhcloud.com
    (我知道也可以用blog或web或任何自訂的別稱做複數綁定)
    但是這種方法當訪客只打網址abcdef.com時則會無法造訪,通常會連到Godaddy的預設頁面

    所以如果要只打網址abcdef.com也會通的話,就要用301(據說SEO較佳)或302的forward來重定向/跳轉至www.abcdef.com
    而這方法是連到網站後網址列顯示的就變成www.abcdef.com而不會保持abcdef.com
    所以可以說網址就只有一種:有www的www.abcdef.com
    除非是用A記錄,才會www.abcdef.com跟abcdef.com兩種皆可平行存在 (但OpenShift無法)

    2. 等DNS生效後,至此還只有首頁是www.abcdef.com
    點擊首頁的任何連結又會連到網址是abc-def.rhcloud.com/xxxx的頁面
    所以還要去WordPress後台的設定/一般 將"WordPress 位址(URL)"以及"網站位址(URL)"都設為www.abcdef.com
    如此才能網站中的任何頁面是www.abcdef.com/xxxx

    3. 我想到,若將abcdef.com設定301指向www.abcdef.com後,在WordPress後台卻將"WordPress 位址(URL)"以及"網站位址(URL)"都設為abcdef.com的話,不知道會怎麼樣呢?

    以上,還請大大予以指正
    謝謝

    • Licson Lee

      你其實可以首先對你的OpenShift網址做DNS Lookup找出IP位置,然後就做A紀錄,接著設定Alias就可以啦!

      • amoses

        謝謝回覆
        原來OpenShift也可以直接做A記錄
        所以如果在DNS對abcdef.com做A記錄指向OpenShift的主機的IP,然後在OpenShift設定兩個Alias(abcdef.com跟www.abcdef.com),這樣不管訪客有沒有打www都可以連得到了嗎?

        而我現在正是用CloudFlare作DNS跟CDN,不明白「容許Bare CNAME紀錄」是什麼意思…

        • Licson Lee

          Q1: 唔唔!

          Q2: Bare CNAME紀錄即是可以直接用CNAME紀錄作頂級域名的主紀錄, 而不需要依照規範一定要使用A紀錄來作主紀錄的.CloudFlare是支援這種的紀錄的, 因為很多的PaaS都會有這個共同的問題…

          • amoses

            原來如此

            所以用CloudFlare的DNS選擇A記錄或CNAME任一皆可。
            而像我原先用GoDaddy的DNS,在CNAME設定中,Host的欄位不能留空,所以就不支援頂級域名嗎?或是Host打@就代表頂級域名呢?不知道您清不清楚GoDaddy的設定規則?
            謝謝

            • Rancho

              不能留空只能填@,填@ 容易引起mx记录失效。建议不要使用 @ CNAME