質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • AWS(Amazon Web Services)

    1992questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • DNS

    279questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

  • HTTPS

    256questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • IPv6

    40questions

    IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。

EC2でたてたインスタンスにIPアドレスでブラウザアクセスした際に、httpsにリダイレクトされてます。(HSTSも疑いましたが、関係有りませんでした)

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 543

qaz3330

score 105

EC2上にRuby on Railsの環境を構築しております。
デプロイには、Opsworksを使っております。

別のプロジェクトでも同様の構成をとっており、問題なく稼働しているのですが、今回のプロジェクトはなぜか、
IPアドレスでブラウザアクセスした場合に、httpsにリダイレクトされてしまい、それによるエラーが発生しております。

nginx及びunicornは起動しております。

SSL関連の設定は何もしておらず、
Strict-Transport-Securityなども疑って調べていたのですが、
特に設定されてませんでした。

別プロジェクトでは問題がなかったので、何か設定ミスなのかなと思い、再三チェックをしているのですが、
特に問題がなさそうでしたので、余計にわかりません。(唯一相違なのが、別プロジェクトは半年前ほどに構築したものですので、Chefのバージョンが違っていたりする可能性があります。)

※ 以降、IPアドレス(54.xxx.xx.xxx)はマスキングさせていただいております。

curl -s --head 54.xxx.xx.xxx
HTTP/1.1 301 Moved Permanently
Server: nginx/1.10.1
Date: Thu, 19 Jan 2017 11:49:57 GMT
Content-Type: text/html
Connection: keep-alive
Location: https://54.xxx.xx.xxx
Vary: Origin

VPCやRoute53なども見ているのですが、特段変な設定もしておらず、かつ、こういうケースのデバッグ方法がわからず、
ここ1週間ぐらい彷徨っております。

開示できる情報は開示していきますので、どういった情報をみたらいいのか等、ご教示いただけないでしょうか?

ちなみにOpsworksでインスタンスを立てたログや、デプロイ時のログなども見ておりますが、エラーは発生しておらず、デプロイ自体も成功していることをsshした後に確認しております。

宜しくお願いします。

 追記

nginx.confの中身も記載致します。

        user nginx;
    worker_processes  10;

    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;

    events {
    worker_connections  1024;
    }

    http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;


    access_log    /var/log/nginx/access.log;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    keepalive_timeout  65;

    gzip  on;
    gzip_static  on;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_proxied any;
    gzip_types application/x-javascript application/xhtml+xml application/xml application/xml+rss text/css text/javascript text/plain text/xml;
    gzip_vary on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";

    client_max_body_size 4m;

    server_names_hash_bucket_size 64;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    }

 追記

ls -ll /etc/nginx/
total 80
drwxr-xr-x 2 root root 4096 Jan 20 10:18 conf.d
drwxr-xr-x 2 root root 4096 Aug  5 09:05 default.d
-rw-r--r-- 1 root root 1077 Aug  5 09:05 fastcgi.conf
-rw-r--r-- 1 root root 1077 Aug  5 09:05 fastcgi.conf.default
-rw-r--r-- 1 root root 1007 Aug  5 09:05 fastcgi_params
-rw-r--r-- 1 root root 1007 Aug  5 09:05 fastcgi_params.default
-rw-r--r-- 1 root root 2837 Aug  5 09:05 koi-utf
-rw-r--r-- 1 root root 2223 Aug  5 09:05 koi-win
-rw-r--r-- 1 root root 3957 Aug  5 09:05 mime.types
-rw-r--r-- 1 root root 3957 Aug  5 09:05 mime.types.default
-rw-r--r-- 1 root root  788 Jan 19 17:41 nginx.conf
-rw-r--r-- 1 root root 2656 Aug  5 09:05 nginx.conf.default
-rw-r--r-- 1 root root  636 Aug  5 09:05 scgi_params
-rw-r--r-- 1 root root  636 Aug  5 09:05 scgi_params.default
drwxr-xr-x 2 root root 4096 Jan 19 18:24 sites-available
drwxr-xr-x 2 root root 4096 Jan 19 18:24 sites-enabled
drw------- 2 root root 4096 Jan 19 18:24 ssl
-rw-r--r-- 1 root root  664 Aug  5 09:05 uwsgi_params
-rw-r--r-- 1 root root  664 Aug  5 09:05 uwsgi_params.default
-rw-r--r-- 1 root root 3610 Aug  5 09:05 win-utf
ls -ll /etc/nginx/conf.d/
total 4
-rw-r--r-- 1 root root 283 Aug  5 09:04 virtual.conf

/etc/nginx/conf.d/virtual.conf

     # 
     # virtual host using mix of IP-, name-, and port-based configuration
     #

     #server {
     #    listen       8000;
     #    listen       somename:8080;
     #    server_name  somename  alias  another.alias;

     #    location / {
     #        root   html;
     #        index  index.html index.htm;
     #    }
     #}

/etc/nginx/sites-enabled/hoge_app

    listen 80;
    server_name hoge_app rails-app;

    access_log /var/log/nginx/hoge_app.access.log;

    keepalive_timeout 5;

    root /srv/www/hoge_app/current/public/;


    location / {
      try_files $uri/index.html $uri/index.htm @unicorn;
    }

    location @unicorn {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;

      proxy_read_timeout 60;
      proxy_send_timeout 60;

      # If you don't find the filename in the static files
      # Then request it from the unicorn server
      if (!-f $request_filename) {
        proxy_pass http://unicorn_hoge_app;
        break;
      }
    }

    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }

    error_page 500 502 503 504 /500.html;
    location = /500.html {
      root /srv/www/hoge_app/current/public/;
    }
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

NginxかRailsでリダイレクトしていると思われます。
/etc/nginx/conf.d/配下もしくは/etc/nginx/sites-enabled/配下にあるRailsアプリの設定ファイルも合わせて書き込んでもらえますか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/20 10:55

    ありがとうございます。上記ファイルを追記してみました。これで十分な内容か判断できず申し訳ありませんが、まだ、不足事項がありましたら、追加したいと思っております。

    尚、opsworks‌​が用意してくれたデフォルトのchefをつ‌​かってnginx及びunicornは構築‌​しております。

    キャンセル

  • 2017/01/20 11:01

    Nginx上では特にhttpsに関する部分はないので、
    config/environments/production.rb
    にconfig.force_ssl = true等設定されてませんか?設定されていたらfalseにしてください。

    キャンセル

  • 2017/01/20 13:11

    度々有難う御座います。force_sslがtrueになっておりましたので、falseにして、デプロイしました。
    デプロイは成功しており、本番サーバーにsshしてコードも確認して、falseになっていることを確認しております。

    その上で、nginx及びunicornを再起動しているのですが、未だにhttpsにリダイレクトされてしまいます。

    キャンセル

  • 2017/01/20 13:22

    Railsアプリケーション側でそのようにしていると思います。
    find . -name "*.rb" -exec grep -i ssl {} /dev/null \;

    find . -name "*.rb" -exec grep -i https {} /dev/null \;
    等で該当箇所を探してみてはいかがでしょうか。

    キャンセル

  • 2017/01/21 20:16

    ご協力ありがとうございます。force_sslがtrueにした時で治っておりました。別のPCのブラウザでアクセスすると、描画されていたことからキャッシュ等が起因しているのかなと思います。

    知識不足でお手数おかけいたしました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    1992questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • DNS

    279questions

    DNSとは、Domain Name Systemのことで、インターネットなどのTCP/IPネットワーク上でドメイン名やホスト名と、IPアドレスとの対応づけを管理するシステムです。DNSのデータベースは、IPアドレスの4つの数字を通知するDNSサーバーで構築されており、IPアドレスをドメイン名から引き出す機能やドメイン名に関するメールサーバ情報を取り扱っています。

  • HTTPS

    256questions

    HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

  • IPv6

    40questions

    IPv6は、インターネットプロトコルの一つ。主流となっているIPv4に変わるものとして設計されました。IPアドレスの需要の増大を予見して開発されたもので、従来よりも多くのIPアドレスの作成が可能です。