[Solved] Shared Link shows wrong URL

Hi all!

I have set up Seafile Server 7.0.4 on my BananaPi (running Armbian Buster) with HTTPS using Nginx. I can reach the server from outside of my LAN via https://my.server.com (not the real URL).

The problem is that the shared links are not properly generated, they still point with HTTP to the internal IP, e.g. Other side effects (might be related to the shared link problem): Once I’m past the login page, Firefox also shows me that the page contains mixed HTTPS and HTTP content. And I also cannot download files.

I guess I have some stupid/obvious config error somewhere, but I’m not able to find it. Here me Seafile, Seahub and Nginx configs:


USER_NAME = Seafile
ID = <redacted>
NAME = Seafile
SERVICE_URL = https://my.server.com

PORT = 13419

ENGINE = mysql
PORT = 3306
USER = seafile
PASSWD = <redacted>
DB = ccnet-db


import os

daemon = True
workers = 5

# default localhost:8000
bind = ""
#bind = ""

# Pid
pids_dir = '/home/seafile/pids'
pidfile = os.path.join(pids_dir, 'seahub.pid')

# for file upload, we need a longer timeout value (default is only 30s, too short)
timeout = 1200

limit_request_line = 8190


host =
port = 8082

type = mysql
host =
port = 3306
user = seafile
password = <redacted>
db_name = seafile-db
connection_charset = utf8


# -*- coding: utf-8 -*-
SECRET_KEY = "<redacted>"
FILE_SERVER_ROOT = 'https://my.server.com/seafhttp'

    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'seahub-db',
        'USER': 'seafile',
        'PASSWORD': '<redacted>',
        'HOST': '',
        'PORT': '3306'


log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time';

server {
    server_name my.server.com;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {
         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_read_timeout  1200s;

         # used for view/edit office file via Office Online Server
         client_max_body_size 0;

         access_log      /var/log/nginx/seahub.access.log seafileformat;
         error_log       /var/log/nginx/seahub.error.log;

    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        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;

        access_log      /var/log/nginx/seafhttp.access.log seafileformat;
        error_log       /var/log/nginx/seafhttp.error.log;
    location /media {
        root /home/seafile/seafile-server-latest/seahub;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/my.server.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/my.server.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


server {
    if ($host = my.server.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name my.server.com;
    return 404; # managed by Certbot


Thanks in advance for your help! :slight_smile:

Just came one step closer to the solution of my problem: I found out that in the Web GUI of Seafile in “System Admin” > “Settings” there are also two fields where I can set the SERVICE_URL and the “FILE_SERVER_ROOT”. I changed those to https://cloud9.dedyn.io and https://cloud9.dedyn.io/seafhttp. Now the shared link URL is correct and also the file download is working. :slight_smile:

What is strange still is that on some pages “default.png” is still loaded via HTTP. Web console says:
Loading mixed (insecure) display content “” on a secure page[Learn More] 2 bundle.common.2897a2bdf8ec.js:1:1293641

Any hint on how to fix this?

Forgot to delete the seahub cache:

rm /tmp/seahub_cache/*

Now everything works through HTTPS. :slight_smile:

1 Like