EC2にデプロイするも、エラーログに何も表示されない時の可能性

#環境
Ruby 2.5.1
Rails 5.2.4.3

[こちら](https://qiita.com/Yuki_Nagaoka/items/dbb185feb6d4f051c2f2)の記事を参考にAWSにデプロイする過程を終えたのですが、ブラウザからアクセスすると「このサイトに接続できません」となり失敗してしまう…

(注)参考にさせて頂いた記事は大変分かりやすく、記事のせいではありません。

何がダメなのか、記事を参考にログを確認してみます。

```:サーバー環境(/var/www/rails/アプリ名/)
cd log
tail -n 30 production.log
```

<img width="1280" alt="スクリーンショット 2020-06-26 16.18.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606118/854df4b0-0b57-d595-83d6-a31935e32900.png">

何故かログを見てもエラーのようなものが見当たりません。
最初は意味不明でしたが、しばらく悩んだ結果ブラウザからアクセスができてないかもしれないと考えました。

そこでcurlを使って直接httpにアクセスしてみます。

```
$ curl -IXGET http://IPアドレス/
HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.2
Date: Sat, 27 Jun 2020 05:09:57 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Location: https://IPアドレス/
```

301が返ってきています。
どうやら、httpへのアクセスがhttpsに勝手にリダイレクトされてしまってるようです。試しにあえてcurlでhttpsにアクセスしてみました。

```
$ curl -IXGET https://IPアドレス/
curl: (7) Failed to connect to IPアドレス port 443: Connection refused
```
433のportが空いてないと怒られました。
確かにセキュリティグループで433の設定はしていないので当然ですね。

ということでセキュリティグループのインバウンドルールに433を追加して、ブラウザからhttpでアクセスしてみるとhttpsでページが開きました！（感動）

ただ、今はhttpsではなくてhttpで開くのが本来の目標です…

#結果

httpからhttpsにリダイレクトされていた原因は/config/environments/production.rbにある以下の記述でした。

```ruby:/config/environments/production.rb
config.force_ssl = true
```

こちら以前herokuデプロイでssl化した時に記述したものだと思われます…
これがあるとssl化のためにhttpsにリダイレクトするようです。

ということでローカルで直してもいいのですがpushしたりcloneしたりするのが面倒なのでとりあえずサーバー内の記述を書き換え、確認だけしてみます。

```
$ cd /var/www/rails/Ticket-Rec/config/environments/
$ vi production.rb
```
以下のように変更

```ruby:/config/environments/production.rb
config.force_ssl = false
```

unicornを再起動

```
$ ps -ef | grep unicorn | grep -v grep
hiroki    2031     1  0  6月26 ?      00:00:02 unicorn_rails master -c /var/www/rails/Ticket-Rec/config/unicorn.conf.rb -D -E production
hiroki    2036  2031  0  6月26 ?      00:00:00 unicorn_rails worker[0] -c /var/www/rails/Ticket-Rec/config/unicorn.conf.rb -D -E production
hiroki    2038  2031  0  6月26 ?      00:00:00 unicorn_rails worker[1] -c /var/www/rails/Ticket-Rec/config/unicorn.conf.rb -D -E production

$ kill 2031
$ bundle exec unicorn_rails -c /var/www/rails/Ticket-Rec/config/unicorn.conf.rb -D -E production
```

nginxを再起動

```
$ sudo service nginx restart
```

再度curlでhttpにアクセスしてみると200が返ってきました！

```
$ curl -IXGET http://IPアドレス/
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Sat, 27 Jun 2020 05:27:46 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: strict-origin-when-cross-origin
ETag: W/"03411acbf679047381b99fd0eda2307c"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _myapp_session=%2Fj%2FMy4fzeeSRY3imIh%2FCkJg94SzoshjfdaYZhZcEzF4i%2BxXXUZiYY8M%2Flre%2F6TAAvXqfyrr5sJ8ke2aOlhh4o8i6xsMfO7Ubp7LvUQnAxB9gm%2FbQ8Gc%2BLPzZAxcL9OgDLvQaocLN1MTSz6XKaDM%3D--1h9%2FJNHiHiktaWNU--CJuK9RUucx3dkTVkQpjYLg%3D%3D; path=/; HttpOnly
X-Request-Id: 9d2ee01e-fa05-40ae-8959-6e9b40f9b3e1
X-Runtime: 0.005877
```

実際にブラウザで開いてみる

```:ブラウザ
http://IPアドレス/
```

無事アプリにアクセスできました！
めでたしめでたし！


と言っても、もしこの後ssl化する時は結局

```ruby:/config/environments/production.rb
config.force_ssl = true
```
に設定すると思われます笑

ただ、繋がらない原因が分かりました。

#参考
[【画像付きで丁寧に解説】AWS(EC2)にRailsアプリをイチから上げる方法【その1〜ネットワーク,RDS環境設定編〜】](https://qiita.com/Yuki_Nagaoka/items/975b7598806d6ae0c0b2)