2017-08-30 20 views
0

私は設定を書いてください助けてください。 それはうまくいきますが、私が場所http://my.server.ru/pgadmin/に行くと、/にログインするようにリダイレクトされ、/に場所名はありません。nginxの場所にpgadminを設定してください

server { 
    listen  80; 
    server_name my.server.ru; 
    error_log /home/user/error.log error; 
    location/{ 
     include   uwsgi_params; 
     uwsgi_pass  unix:/run/uwsgi/django_app.sock; 
    } 
    location /pgadmin { 

     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_pass http://127.0.0.1:5050/; 
     proxy_redirect http://127.0.0.1:5050 http://$host/pgadmin/; 

     } 

    location /static/ { 
     root /home/user/django_app; 
    expires 365d; 
    } 
    location /media/ { 
     root /home/user/django_app; 
    expires 365d; 
    } 

    location ~ /\.ht {return 404;} 
    location ~ /\.svn/ {return 404;} 
    location ~ /\.git/ {return 404;} 
    location ~ /\.hg/ {return 404;} 
    location ~ /\.bzr/ {return 404;} 


} 

私はそれをどうすれば理解できません。どこを書き直す必要がありますか?

UPD:カール

* Trying xx.xx.xx.xx... 
* TCP_NODELAY set 
* Connected to my.server.ru (xx.xx.xx.xx) port 80 (#0) 
> GET /pgadmin/ HTTP/1.1 
> Host: my.server.ru 
> User-Agent: curl/7.52.1 
> Accept: */* 
> 
< HTTP/1.1 301 Moved Permanently 
< Content-length: 0 
< Location: https://my.server.ru/pgadmin/ 
< 
* Curl_http_done: called premature == 0 
* Connection #0 to host my.server.ru left intact 
* Issue another request to this URL: 'https://my.server.ru/pgadmin/' 
* Trying xx.xx.xx.xx... 
* TCP_NODELAY set 
* Connected to my.server.ru (xx.xx.xx.xx) port 443 (#1) 
* ALPN, offering http/1.1 
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH 
* successfully set certificate verify locations: 
* CAfile: /etc/ssl/certs/ca-certificates.crt 
    CApath: /etc/ssl/certs 
* TLSv1.2 (OUT), TLS header, Certificate Status (22): 
* TLSv1.2 (OUT), TLS handshake, Client hello (1): 
* TLSv1.2 (IN), TLS handshake, Server hello (2): 
* TLSv1.2 (IN), TLS handshake, Certificate (11): 
* TLSv1.2 (IN), TLS handshake, Server key exchange (12): 
* TLSv1.2 (IN), TLS handshake, Server finished (14): 
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): 
* TLSv1.2 (OUT), TLS change cipher, Client hello (1): 
* TLSv1.2 (OUT), TLS handshake, Finished (20): 
* TLSv1.2 (IN), TLS change cipher, Client hello (1): 
* TLSv1.2 (IN), TLS handshake, Finished (20): 
* SSL connection using TLSv1.2/ECDHE-RSA-AES256-GCM-SHA384 
* ALPN, server did not agree to a protocol 
* Server certificate: 
* subject: CN=xxxxxx 
* start date: Jul 31 11:42:00 2017 GMT 
* expire date: Oct 29 11:42:00 2017 GMT 
* subjectAltName: host "my.server.ru" matched cert's "my.server.ru" 
* issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3 
* SSL certificate verify ok. 
> GET /pgadmin/ HTTP/1.1 
> Host: my.server.ru 
> User-Agent: curl/7.52.1 
> Accept: */* 
> 
< HTTP/1.1 302 FOUND 
< Server: nginx/1.10.3 (Ubuntu) 
< Date: Wed, 30 Aug 2017 12:51:49 GMT 
< Content-Type: text/html; charset=utf-8 
< Content-Length: 236 
< Location: http://my.server.ru/login?next=%2F 
< Set-Cookie: pga4_session="c8e21d09-5d31-42e3-a4d5-a3ed87873a69!6KcWbhziK2zypWCzKTRyFLUdszI="; Expires=Thu, 31-Aug-2017 15:51:49 GMT; HttpOnly; Path=/ 
< 
* Ignoring the response-body 
* Curl_http_done: called premature == 0 
* Connection #1 to host my.server.ru left intact 
* Issue another request to this URL: 'http://my.server.ru/login?next=%2F' 
* Found bundle for host my.server.ru: 0x55568d6af270 [can pipeline] 
* Re-using existing connection! (#0) with host my.server.ru 
* Connected to my.server.ru (xx.xx.xx.xx) port 80 (#0) 
> GET /login?next=%2F HTTP/1.1 
> Host: my.server.ru 
> User-Agent: curl/7.52.1 
> Accept: */* 
> 
< HTTP/1.1 301 Moved Permanently 
< Content-length: 0 
< Location: https://my.server.ru/login?next=%2F 
< 
* Curl_http_done: called premature == 0 
* Connection #0 to host my.server.ru left intact 
* Issue another request to this URL: 'https://my.server.ru/login?next=%2F' 
* Found bundle for host my.server.ru: 0x55568d6affb0 [can pipeline] 
* Re-using existing connection! (#1) with host my.server.ru 
* Connected to my.server.ru (xx.xx.xx.xx) port 443 (#1) 
> GET /login?next=%2F HTTP/1.1 
> Host: my.server.ru 
> User-Agent: curl/7.52.1 
> Accept: */* 
> 
< HTTP/1.1 404 Not Found 
< Server: nginx/1.10.3 (Ubuntu) 
< Date: Wed, 30 Aug 2017 12:51:49 GMT 
< Content-Type: text/html 
< Content-Length: 79 
< X-Frame-Options: SAMEORIGIN 
< 
* Curl_http_done: called premature == 0 
* Connection #1 to host my.server.ru left intact 

の 出力は

要求されたURL /ログインがこのサーバー上で見つかりませんでしたが見つかりません。 thrue SSHトンネルを実行します -

は、私たちは、私は別の良い方法を見つけた/

+0

'proxy_redirect http://127.0.0.1:5050 http:// $ host/pgadmin /;を' proxy_redirect http://127.0.0.1:5050/ http:// $ host/pgadmin /;に変更します。 。 'curl -vL http:// my.server.ru/pgadmin /' –

+0

の出力も投稿してください。完了しましたが、ルートページにリダイレクトされました。 – Mihail

+0

Okie、あなたはより多くの設定をしていると思われます。あなたの問題は、あなたが定義しているブロックがリッスン80にありますが、httpsへのリダイレクトブロックがあり、httpsブロックに '/ pgadmin'がないことです。だからあなたはhttpsリダイレクトを取得し、 '/ pgadmin'はそこにはないので' login'リダイレクトを受け取ります –

答えて

0

にここにリダイレクト参照してください。誰かを助けることを願っています。

関連する問題