www.なしのアクセスをwww.ありへ転送する

Herokuを使って独自ドメインで運用しているサイトがあるのですが
www.sample.com
のようにwwwつきで使っています

sample.com
のようにwww.なしでアクセスするとエラーになっているので、転送してみました

Apacheのredirectとかの方法をHerokuで..と思いましたが
ruby on rails – Heroku how to redirect http:// to http://www – Stack Overflow
をみると、DNSで転送したほうが良さそうです

使っていたのが
ドメイン取るなら お名前.com – ドメイン取得 最安値 99円!
だったので、調べてみると
オプション設定の転送Plusを使うとできました

onamae-options-url

これで少し良くなりました

DNSにmxレコードを登録したらSPFも設定したほうがいい

送信元アドレスを偽装してメールを送られるのを防ぐ仕組みにSPFっていうのがあります

Google Appの説明がわかりやすかったです
SPF レコードについて – Google Apps 管理者 ヘルプ

自分のドメインをもって、メールアドレスに使うときはMXレコードをDNSレジストラに登録しましたが
いっしょにSPFも登録したほうがいいようです

Google Appsだと

TYPE: TXT
値: v=spf1 include:_spf.google.com ~all

を追加しておくとよさそうです

コマンドでDNSのmxレコードを確認する

コマンドでDNSの反映を確認するに引き続き、MXレコードを確認
google.co.jpをサンプルに

$ nslookup -type=mx google.co.jp

Server:         127.0.1.1
Address:        127.0.1.1#53

Non-authoritative answer:
google.co.jp    mail exchanger = 10 aspmx.l.google.com.
google.co.jp    mail exchanger = 40 alt3.aspmx.l.google.com.
google.co.jp    mail exchanger = 30 alt2.aspmx.l.google.com.
google.co.jp    mail exchanger = 50 alt4.aspmx.l.google.com.
google.co.jp    mail exchanger = 20 alt1.aspmx.l.google.com.

Authoritative answers can be found from:
google.co.jp    nameserver = ns3.google.com.
google.co.jp    nameserver = ns4.google.com.
google.co.jp    nameserver = ns2.google.com.
google.co.jp    nameserver = ns1.google.com.
ns4.google.com  internet address = 216.239.38.10
ns3.google.com  internet address = 216.239.36.10
ns2.google.com  internet address = 216.239.34.10
ns1.google.com  internet address = 216.239.32.10

$ dig google.co.jp mx

; <<>> DiG 9.9.5-3ubuntu0.3-Ubuntu <<>> google.co.jp mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28586
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.co.jp.                  IN      MX

;; ANSWER SECTION:
google.co.jp.           553     IN      MX      10 aspmx.l.google.com.
google.co.jp.           553     IN      MX      30 alt2.aspmx.l.google.com.
google.co.jp.           553     IN      MX      40 alt3.aspmx.l.google.com.
google.co.jp.           553     IN      MX      50 alt4.aspmx.l.google.com.
google.co.jp.           553     IN      MX      20 alt1.aspmx.l.google.com.

;; AUTHORITY SECTION:
google.co.jp.           2371    IN      NS      ns3.google.com.
google.co.jp.           2371    IN      NS      ns4.google.com.
google.co.jp.           2371    IN      NS      ns1.google.com.
google.co.jp.           2371    IN      NS      ns2.google.com.

;; ADDITIONAL SECTION:
ns4.google.com.         2374    IN      A       216.239.38.10
ns3.google.com.         2397    IN      A       216.239.36.10
ns2.google.com.         2378    IN      A       216.239.34.10
ns1.google.com.         2371    IN      A       216.239.32.10

;; Query time: 15 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Aug 03 12:12:14 JST 2015
;; MSG SIZE  rcvd: 295

コマンドでDNSの反映を確認する

ドメインをとってDNSレジストラに設定したあと、反映されたか確認しました
サンプルにgoogle.co.jpで確認

$ nslookup google.co.jp

Server:         127.0.1.1
Address:        127.0.1.1#53

Non-authoritative answer:
Name:   google.co.jp
Address: 173.194.117.175
Name:   google.co.jp
Address: 173.194.117.191
Name:   google.co.jp
Address: 173.194.117.183
Name:   google.co.jp
Address: 173.194.117.184

これでも確認できます

$ dig google.co.jp

; <<>> DiG 9.9.5-3ubuntu0.3-Ubuntu <<>> google.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8459
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.co.jp.                  IN      A

;; ANSWER SECTION:
google.co.jp.           300     IN      A       173.194.117.175
google.co.jp.           300     IN      A       173.194.117.184
google.co.jp.           300     IN      A       173.194.117.183
google.co.jp.           300     IN      A       173.194.117.191

;; AUTHORITY SECTION:
google.co.jp.           2207    IN      NS      ns1.google.com.
google.co.jp.           2207    IN      NS      ns3.google.com.
google.co.jp.           2207    IN      NS      ns4.google.com.
google.co.jp.           2207    IN      NS      ns2.google.com.

;; ADDITIONAL SECTION:
ns4.google.com.         2206    IN      A       216.239.38.10
ns3.google.com.         2200    IN      A       216.239.36.10
ns2.google.com.         2200    IN      A       216.239.34.10
ns1.google.com.         2197    IN      A       216.239.32.10

;; Query time: 48 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Aug 03 11:55:02 JST 2015
;; MSG SIZE  rcvd: 251