Eu tento acessar o https://seafile.example.com
, que é um aplicativo com proxy. O aplicativo retornará 302, mas com HTTP em vez de HTTPS. Se isso for corrigido no Nginx ou no aplicativo (Seafile, neste caso), tentei, mas não sei o que está errado:
Saída de curl -v https://seafile.example.com
< HTTP/1.1 302 FOUND
< Server: nginx/1.12.2
< Date: Fri, 18 May 2018 03:08:02 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Language, Cookie
< Location: http://seafile.example.com/accounts/login?next=/
< Content-Language: en
Eu teria esperado o link ...
Configuração do Nginx:
server {
listen 80;
server_name seafile.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name seafile.example.com;
ssl_certificate /etc/letsencrypt/live/seafile.example.com-0001/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/seafile.example.com-0001/privkey.pem; # managed by Certbot
include /etc/nginx/conf.d/ssl.conf;
proxy_set_header X_Forwarded-For $remote_addr;
location / {
proxy_pass http://192.168.99.12:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto https;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
proxy_read_timeout 1200s;
client_max_body_size 0;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://192.168.99.12:8082;
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
}
seahub_settings.py
# -*- coding: utf-8 -*-
SECRET_KEY = "random"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'seahub-db',
'USER': 'seafile',
'PASSWORD': 'random',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
FILE_SERVER_ROOT = 'https://seafile.example.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.example.com' # smpt server
EMAIL_HOST_USER = '' # username and domain
EMAIL_HOST_PASSWORD = '' # password
EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = '[email protected]'
SERVER_EMAIL = '[email protected]'
ccnet.conf
[General]
USER_NAME = seafile
ID = ranodm
NAME = seafile
SERVICE_URL = https://seafile.example.com
[Client]
PORT = 13419
[Database]
ENGINE = mysql
HOST = 127.0.0.1
PORT = 3306
USER = seafile
PASSWD = random
DB = ccnet-db
CONNECTION_CHARSET = utf8