help in setting ssl certificate. what do i do wrong?

37 views
Skip to first unread message

Pasquale

unread,
Jul 22, 2025, 10:03:23 AM7/22/25
to xnat_discussion

hi everyone, newbie here .

I was trying to activate https for xnat on my almalinux virtual machine but i am struggling to get it to work and i could use some advice. I have created an ssl certificate but i am not sure how to configure it properly.  here are the details

XNAT Version:  XNAT 1.9 .2.1

Server Environment: almalinux 9

Certificate Type: , Self-signed certificate

Web Server: nginx

Current Configuration:

docker-compose.yml:

services:

  xnat-web:
    container_name: xnat-web
    build:
      context: ./xnat
      args:
        XNAT_VERSION: ${XNAT_VERSION}
        XNAT_SMTP_ENABLED: ${XNAT_SMTP_ENABLED}
        XNAT_SMTP_HOSTNAME: ${XNAT_SMTP_HOSTNAME}
        XNAT_SMTP_PORT: ${XNAT_SMTP_PORT}
        XNAT_SMTP_AUTH: ${XNAT_SMTP_AUTH}
        XNAT_SMTP_USERNAME: ${XNAT_SMTP_USERNAME}
        XNAT_SMTP_PASSWORD: ${XNAT_SMTP_PASSWORD}
        XNAT_SMTP_START_TLS: ${XNAT_SMTP_START_TLS}
        XNAT_DATASOURCE_DRIVER: ${XNAT_DATASOURCE_DRIVER}
        XNAT_DATASOURCE_URL: ${XNAT_DATASOURCE_URL}
        XNAT_DATASOURCE_USERNAME: ${XNAT_DATASOURCE_USERNAME}
        XNAT_DATASOURCE_PASSWORD: ${XNAT_DATASOURCE_PASSWORD}
        TOMCAT_XNAT_FOLDER: ${TOMCAT_XNAT_FOLDER}
        XNAT_ROOT: ${XNAT_ROOT}
        XNAT_HOME: ${XNAT_HOME}
        XNAT_EMAIL: ${XNAT_EMAIL}
    ports:
      - 8080:8080
    networks:
      - xnat-network
    volumes:
      - ./xnat/plugins:${XNAT_HOME}/plugins
      - ./xnat-data/home/logs:${XNAT_HOME}/logs
      - ./xnat-data/archive:${XNAT_ROOT}/archive
      - ./xnat-data/build:${XNAT_ROOT}/build
      - ./xnat-data/cache:${XNAT_ROOT}/cache
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - xnat-db
    environment:
      - CATALINA_OPTS=-Xms${XNAT_MIN_HEAP} -Xmx${XNAT_MAX_HEAP} -Dxnat.home=${XNAT_HOME}
      - XNAT_HOME=${XNAT_HOME}
      - XNAT_PORT=443

  xnat-db:
    container_name: xnat-db
    image: postgres:${PG_VERSION}
    expose:
      - 5432
    networks:
      - xnat-network
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
      #
      - ./postgres:/docker-entrypoint-initdb.d
    environment:
      - POSTGRES_PASSWORD=${XNAT_DATASOURCE_ADMIN_PASSWORD}
      - POSTGRES_DB=${XNAT_DATASOURCE_NAME}
      # variables for the sql script
      - XNAT_DATASOURCE_USERNAME=${XNAT_DATASOURCE_USERNAME}
      - XNAT_DATASOURCE_PASSWORD=${XNAT_DATASOURCE_PASSWORD}

  xnat-nginx:
    container_name: xnat-nginx
    image: nginx:${NGINX_VERSION}
    volumes:
      - ../certs:/etc/nginx/ssl:ro
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - 80:80
      - 443:443
    networks:
      - xnat-network
    depends_on:
      - xnat-web
    links:
      - xnat-web

networks:
  xnat-network:
    name: xnat-network

i have also added 
  server {
    listen 80 default_server;
    server_name xnat.myserver.test;
    return 301 https://$server_name$request_uri;
}
  server {
    listen 443 ssl;

    server_name xnat.myserver.test;

  ssl_certificate /etc/nginx/ssl/xnat.crt;
  ssl_certificate_key /etc/nginx/ssl/xnat.key;

to the nginx.conf file

but no matter what i do, once i do docker compose up the browser gets stuck in an infinite cycle of redirects 

akluiber

unread,
Jul 23, 2025, 12:47:23 PM7/23/25
to xnat_discussion
Does setting the return statement to return 301 https://$host$request_uri; help at all?
Reply all
Reply to author
Forward
0 new messages