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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Q&A

解決済

3回答

3462閲覧

NginxでのSSL設定

sns

総合スコア11

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

0グッド

0クリップ

投稿2016/02/24 08:59

編集2016/02/24 13:58

初めまして。

現在テストサーバでNginxをリバースプロキシにしてApacheでphpの処理を行うように設定しています。

先日NginxにSSLの設定を行ったのですが、設定した後からテストサイトにアクセスすることができなくなってしまいました。

ブラウザでアクセスすると応答がなくてタイムアウトになる状態です。

アクセスログを確認してみました、ログは残っていませんでした。

エラーログも同様に残っていませんでした。

curlでサイトの情報が取得できるか確認する方法というのを見つけたため試したところ、サイトのhtmlデータが返ってきました。

curlで情報が取得できるのにブラウザでアクセスするとタイムアウトになる場合というのはどういう状態が考えられますでしょうか?

情報が不足している部分のあるかと思いますので、言っていただければ公開できる範囲で設定情報など公開いたします。

よろしくお願いします。

///////////////////////////////////////////////

指摘がありましたので設定ファイルの一部を下記に記載します。

また、サーバの情報ですが

CentOS 6.6 64bit Nginx 1.9.11 Apache 2.2.29 OpenSSL 1.0.1e

になります。

server { listen 80 default_server; server_name _; return 444; } server { listen 443 ssl http2 default_server; server_name _; ssl on; ssl_certificate 証明書の場所 ssl_certificate_key 鍵の場所 return 444; } server { listen 80; server_name test.net; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name test.net; access_log アクセスログ; ssl on; ssl_certificate 証明書の場所 ssl_certificate_key 鍵の場所 location ~* \.(hta|htp|git) { deny all; break; } location ^~ /images/ { root ドキュメントルート ssi on; expires 1d; access_log off; break; } location ^~ /css/ { root ドキュメントルート ssi on; expires 1d; access_log off; break; } location ^~ /js/ { root ドキュメントルート ssi on; expires 1d; access_log off; break; } location / { proxy_pass https://127.0.0.1:8010; break; } }

SSLを設定する前はhttpでアクセスできていたのでリバースプロキシなどの設定に問題はないかと思います。

■追記---------

念のためその他の部分も載せておきます

/////////////////////////////////

http { server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; charset UTF-8; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$request_body"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; keepalive_timeout 15; gzip_static on; gzip on; gzip_vary on; gzip_proxied any; gzip_http_version 1.1; gzip_disable "msie6"; gzip_disable "Mozilla/4"; gzip_comp_level 6; gzip_min_length 1024; gzip_types text/css text/javascript application/javascript application/x-javascript; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Remote-Addr $remote_addr; #include /etc/nginx/conf.d/*.conf; include /etc/nginx/conf.d/dropip.conf; include /etc/nginx/conf.d/vhost.conf; }

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ogaaaan

2016/02/24 09:41

みんなnginxにどういう設定したのかわからないからアドバイスしにくいと思うよ。
guest

回答3

0

httpsの設定の方のlocationを一旦コメントアウトしてみて、
以下のように一旦簡素な形で試してみてはどうでしょう?

/var/www/html/index.html

html

1<html> 2・・・ 3<h1>hoge</h1> 4・・・ 5</html>

nginx設定ファイル

nginx

1location { 2 listen 443 ssl http2; 3 server_name test.net; 4 5 access_log アクセスログ; 6 7 ssl on; 8 9 ssl_certificate 証明書の場所 10 ssl_certificate_key 鍵の場所 11 12 root /var/www/html; 13 index index.html; 14 15}

一つずつコメントアウトを外していきながら、
どこが原因になっているのかを調べるのも手かと思います。

投稿2016/02/24 11:33

CyberMergina

総合スコア295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sns

2016/02/24 12:31

回答ありがとうございます。 server { listen 443 ssl; server_name ドメイン; access_log アクセスログ; ssl on; ssl_certificate 証明書; ssl_certificate_key 鍵; location / { proxy_pass https://127.0.0.1:8010; } } にして試してみましたが変わりませんでした。 80番ポートにしてSSLの設定を消してhttpでアクセスすると表示されました。
TaichiYanagiya

2016/02/24 13:58

ファイアーウォールで 443番ポートは開いているのですよね?
sns

2016/02/24 14:02

回答ありがとうございます。 はい、開いています。
sns

2016/02/24 14:07

すみません、ポート番号を間違えていました・・・
guest

0

自己解決

回答いただいたみなさん、ありがとうございました。

TaichiYanagiyaさんのコメントを見てもう一度iptablesを確認してみたところポート番号を「433」と指定しておりました。

すみません。

自分の不注意です。

ご協力いただいたみなさん、本当にありがとうございました。

TaichiYanagiyaさんをベストアンサーとしたいのですが、ボタンがありませんので今回はベストアンサーなしの状態にさせてください。

本当にありがとうございました。

投稿2016/02/24 14:10

sns

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sns

2016/02/25 04:09

すみません、ベストアンサーをつけないと解決済みにならないようなので、自分の回答をベストアンサーにしておきます。
guest

0

後の違いは、 http2 周りかな...

listen 443 ssl http2;

の http2 だけを外してみたら どうなりますか?

ブラウザと OS は、何ですか?

http/2 に対応しているブラウザは、
Google Chrome 30ぐらい以降
Mozilla Firefox 34以降
Internet Explorer 11 (Windows 10のみ)
Opera
Safari 9以降
だったと思います。

投稿2016/02/24 13:54

編集2016/02/24 13:57
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sns

2016/02/24 14:01 編集

回答ありがとうございます。 試してみましたが変わりませんでした。 ブラウザはInternet Explorer 11とGoogle Chrome 48とEdgeで試しましたが、どれもダメでした。 設定部分の記載を追加したので、よかったら見てみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問