web-dev-qa-db-ja.com

nginxはhttpをhttpsにリダイレクトしません

複数site-configファイルでnginxdockerを実行しています。

それらの1つは、httpsへのすべてのhttp接続の一般的なリダイレクトです。

server {
listen 80;
server_name *.example.com example.com;
return 301 https://$Host$request_uri;
}

他のすべてのsite-configファイルは、NextcloudやPlexのような他のドッカー/サービス用です。

たとえば、選択したブラウザ(およびIE)に https://plex.example.com と入力すると、ssh接続を使用して正しいWebページが表示されます。

ただし、 http://plex.example.com と入力すると、空のページが返されるだけで、この場合はPlexにリダイレクトされません。

誰かアイデアがありますか?

PS:デフォルトのsite-configファイルは空です。しかし、サービス/ドッカーのすべてのsite-configsが機能しているという事実のために、余分なファイルにリダイレクトがあることは問題ではないと私は推測しています。

PPS:アクセスログの例を次に示します。エラーログは空です(3か月以上新しいエントリはありません)。ログは、https経由でプレックスサーバーにアクセスしたものです。 http経由で何かにアクセスしても、ログエントリは作成されません。

192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET / HTTP/1.1" 401 157 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/index.html HTTP/1.1" 200 1650 "https://plex.example.com/" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/main.8883144fb7acc2430ef50eda6c1a41c8.css HTTP/1.1" 200 764765 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/main.v3.3a6aa4986f36a5810792d74118deda14.css HTTP/1.1" 200 214735 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/js/vendors-1-d55a6a600958df7159e4-plex-3.20.7-d87fe16.js HTTP/1.1" 200 1148751 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/js/main-0-2a819e76950d4ad197a8-plex-3.20.7-d87fe16.js HTTP/1.1" 200 3259450 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/common/img/backgrounds/preset-dark.5b95c8c24aab87067b69bca7ae11759a.png HTTP/1.1" 200 40582 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/translations/de.json HTTP/1.1" 200 128137 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:02 +0100] "GET /web/common/img/backgrounds/noise.0e9cf16a17adb19690cd31312cdaa809.png HTTP/1.1" 200 94668 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:03 +0100] "GET /web/favicon.ico HTTP/1.1" 200 5430 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:03 +0100] "GET /?X-Plex-Product=Plex%20Web&X-Plex-Version=3.20.7&X-Plex-Client-Identifier=yi606rcck7j3x9lx3wafhzgx&X-Plex-Platform=Internet%20Explorer&X-Plex-Platform-Version=11.0&X-Plex-Device=Windows&X-Plex-Device-Name=Plex%20Web%20%28Internet%20Explorer%29&X-Plex-Device-Screen-Resolution=1149x738%2C2560x1440 HTTP/1.1" 401 157 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:03 +0100] "GET /identity?X-Plex-Product=Plex%20Web&X-Plex-Version=3.20.7&X-Plex-Client-Identifier=yi606rcck7j3x9lx3wafhzgx&X-Plex-Platform=Internet%20Explorer&X-Plex-Platform-Version=11.0&X-Plex-Device=Windows&X-Plex-Device-Name=Plex%20Web%20%28Internet%20Explorer%29&X-Plex-Device-Screen-Resolution=1149x738%2C2560x1440 HTTP/1.1" 200 160 "https://plex.example.com/web/index.html" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
192.168.0.2 - - [13/Nov/2017:21:53:06 +0100] "POST /index.php/heartbeat HTTP/1.1" 200 31 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

P3S:curl -i http://cloud.example.com/の結果:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm='unRAID SMU'
Server: emhttp
Connection: close
Content-Type: text/plain
Content-Length: 16

401 Unauthorized

Access-log-entry:エントリは作成されません

curl -i https://cloud.example.com/の結果:

HTTP/1.1 302 Found
Server: nginx/1.12.2
Date: Mon, 13 Nov 2017 21:20:39 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.9
Set-Cookie: oc367h1rrnkw=6033cj2p99saalb4csog6k47p5; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: oc_sessionPassphrase=SECRETPASSPHRASE; path=/; secure; HttpOnly
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'nonce-cHlJeHJhUFhzZWJmdDdwSWVkVisrYUFPMGVVd1p1eDJXSW44TkhESE9HND06eVZ0dzFPU1p3N1d1OE1BdEhib3cxdk1obWFwMFBvSThhc0dVZnlTZ0NUMD0='; style-src 'self' 'unsafe-inline'; frame-src *; img-src * data: blob:; font-src 'self' data:; media-src *; connect-src *; object-src 'none'; base-uri 'self';
X-Frame-Options: SAMEORIGIN
Set-Cookie: __Host-nc_sameSiteCookielax=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax
Set-Cookie: __Host-nc_sameSiteCookiestrict=true; path=/; httponly;secure; expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict
Location: https://cloud.example.com/index.php/login
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Robots-Tag: none
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Strict-Transport-Security: max-age=63072000; includeSubdomains
Front-End-Https: on

アクセスログエントリ:

192.168.0.2 - - [13/Nov/2017:22:24:11 +0100] "GET / HTTP/1.1" 302 5 "-" "curl/7.47.0"

P4Snetstat -natup | grep nginxの結果:

tcp        0      0 0.0.0.0:80              0.0.0.0:*             LISTEN      305/nginx.conf
tcp        0      0 0.0.0.0:443             0.0.0.0:*             LISTEN      305/nginx.conf
tcp        0      0 172.17.0.5:443          192.168.0.2:56973     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56977     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56981     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56722     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56976     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56980     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56971     ESTABLISHED 336/nginx: worker p
tcp        0      0 172.17.0.5:443          192.168.0.2:56966     ESTABLISHED 335/nginx: worker p
1
John

私は問題を見つけました。まず、私のサーバー/セットアップについての何か:その監視GUIはデフォルトでポート80で実行され、それを変更することを気にしませんでした。私がしたのは、外部ポート80をサーバーのポート84にマッピングすることだけでした。 84がポートであるため、 'sencrypt/nginxがリッスンしています。

最近のルーターのソフトウェアアップデートで、LAN内からURLにアクセスするときにポートマッピングを無視することを選択しました。したがって、httpリクエストを介してサーバーのGUIにアクセスしていて、curlでAccess Deniedエラーが発生しました。

サーバーへの接続をtracertした後、アイデアが浮かびました。

おそらくサーバーGUIのポートを別のものに変更します。しかし今のところ私は幸せです、すべてが常にうまく機能していました

1
John