はじめに
現在の状況です。
下記環境でAWSにnginxサーバーを使用してデプロイはできている状態です。
IPでアプリケーションは表示されているが、自分で取得したドメインでも表示できるように
したいというのが今回の目的です。
環境
ruby 2.3.1
Rails 5.0.7.2
MySQL
git
unicorn
nginx
capistrano
AWS EC2
事前準備
[参考]お名前.comで取得したドメインをAmazon EC2に紐付ける
上記を参考にドメインの設定は完了しております。
エラー発生
設定したドメインをブラウザで表示しても上記のように表示されてしまいます。
表示されている文面を翻訳するとnginxのどうやら設定が必要なようです。
対応したこと
[参考]【超初心者向け】AWSでたてたnginxサーバーにドメインを設定する
上記記事を参考にnginxの「conf」の変更、nginxのrestartを行いました。
[ec2-user@ip-XXX-XX-XX-XXX ~]$ sudo vim /etc/nginx/conf.d/rails.conf
server_name XXXX.com; #ここの部分を取得したドメインに変更
#変更後保存
sudo service nginx restart #nginxのrestart
結果
正常にドメインでページが表示できました!!
おまけ
上記を行うと逆にIPからはページが表示できなくなります。
私はIPからも接続できるようにしたかったので、その際にはその設定も必要です。
[参考]nginxでip入力によるアクセスをドメインにリダイレクトする
[ec2-user@ip-XXX-XX-XX-XXX ~]$ sudo vim /etc/nginx/conf.d/rails.conf
下記を追記でOKです。
server {
server_name XXX.XXX.XXX.XXX; #IPアドレス
return 301 http://XXXX.com; #取得したドメイン
}
以上です。宜しくお願いします。
参考
[参考]お名前.comで取得したドメインをAmazon EC2に紐付ける
[参考]【超初心者向け】AWSでたてたnginxサーバーにドメインを設定する
[参考]nginxでip入力によるアクセスをドメインにリダイレクトする