Hi, I recently followed the Offline Deployment instructions here and am seeing some strange behavior. If I access the site using my desktop PC everything works as expected. But if I use my Android phone on the same wifi I can view the login page, but after entering my credentials it’ll authenticate and then redirect to a blank page. I’ve tried Chrome and Firefox and turned off all browser extensions without effect.
Debug logs from both login attempts are below (I removed any identifying info). I have it running behind NGINX so I included the relevant install files as well. Any help figuring out this issue would be greatly appreciated!
Debug output during successful login on desktop PC
server_1 | 15:43:51.808 DEBUG actionlog successfully authenticated with password {"timestamp": "15:43:51.808", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000040", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:auth", "action": "authenticate", "severity": 5, "error": "", "description": "successfully authenticated with password", "policy-match": true, "meta": {"credentials.ID":"351649627155484675","credentials.kind":"password","email":"myemail@myurl.com"}}
server_1 | 15:43:51.853 DEBUG redirect URI check for client is disabled (empty validation list) {"sent": "https://corteza.myserverurl.com/auth/callback"}
server_1 | 15:43:52.103 DEBUG redirect URI check for client is disabled (empty validation list) {"sent": "https://corteza.myserverurl.com/auth/callback"}
server_1 | 15:43:52.118 DEBUG actionlog looked-up for a Admin {"timestamp": "15:43:52.115", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000045", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649440358027267, "resource": "system:user", "action": "lookup", "severity": 6, "error": "", "description": "looked-up for a Admin", "policy-match": true, "meta": {"user.ID":"351649626987712515","user.email":"myemail@myurl.com","user.handle":"Admin","user.name":"Admin Name"}}
server_1 | 15:43:52.431 DEBUG actionlog looked-up for a Admin {"timestamp": "15:43:52.431", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000051", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649440358027267, "resource": "system:user", "action": "lookup", "severity": 6, "error": "", "description": "looked-up for a Admin", "policy-match": true, "meta": {"user.ID":"351649626987712515","user.email":"myemail@myurl.com","user.handle":"Admin","user.name":"Admin Name"}}
server_1 | 15:43:52.514 DEBUG actionlog searched for applications {"timestamp": "15:43:52.514", "requestOrigin": "api/rest", "requestID": "9b608fb02cd8/eIJdu9zwZr-000056", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:application", "action": "search", "severity": 6, "error": "", "description": "searched for applications", "policy-match": true, "meta": {"filter.deleted":0,"filter.sort":"weight"}}
Debug output during unsuccessful login on mobile phone
server_1 | 15:43:00.799 DEBUG actionlog successfully authenticated with password {"timestamp": "15:43:00.799", "requestOrigin": "auth", "requestID": "9b608fb02cd8/eIJdu9zwZr-000017", "actorIPAddr": "XX.XX.XX.XX", "actorID": 351649626987712515, "resource": "system:auth", "action": "authenticate", "severity": 5, "error": "", "description": "successfully authenticated with password", "policy-match": true, "meta": {"credentials.ID":"351649627155484675","credentials.kind":"password","email":"myemail@myurl.com"}}
server_1 | 15:43:00.979 DEBUG redirect URI check for client is disabled (empty validation list) {"sent": "https://corteza.myserverurl.com/auth/callback"}
Corteza docker-compose.yml
version: '3.5'
services:
server:
image: cortezaproject/corteza:${VERSION}
restart: unless-stopped
env_file: [ .env ]
depends_on: [ db ]
ports: [ "172.17.0.1:14000:80" ]
db:
image: postgres:13
restart: unless-stopped
healthcheck: { test: ["CMD-SHELL", "pg_isready -U corteza"], interval: 10s, timeout: 5s, retries: 5 }
volumes:
- "/opt/docker/corteza/dbdata:/var/lib/postgresql/data"
environment:
POSTGRES_USER: corteza
POSTGRES_PASSWORD: corteza
volumes:
dbdata:
Corteza .env
########################################################################################################################
# docker-compose supports environment variable interpolation/substitution in compose configuration file
# (more info: https://docs.docker.com/compose/environment-variables)
########################################################################################################################
# General settings
DOMAIN=corteza.myserverurl.com
VERSION=2022.9
########################################################################################################################
# Database connection
DB_DSN=postgres://corteza:corteza@db:5432/corteza?sslmode=disable
########################################################################################################################
# Server settings
# Running all-in-one and serving web applications directly from server container
HTTP_WEBAPP_ENABLED=true
# Send action log to container logs as well
ACTIONLOG_DEBUG=true
# Uncomment for extra debug info if something goes wrong
LOG_LEVEL=debug
# Use nicer and colorful log instead of JSON
LOG_DEBUG=true
########################################################################################################################
# SMTP (mail sending) settings
# Point this to your local or external SMTP server if you want to send emails.
# In most cases, Corteza can detect that SMTP is disabled and skips over sending emails without an error
#SMTP_HOST=smtp-server.example.tld:587
#SMTP_USER=postmaster@smtp-server.example.tld
#SMTP_PASS=this-is-your-smtp-password
#SMTP_FROM='"Demo" <info@your-demo.example.tld>'
NGINX proxy-confs
server {
listen 80;
server_name corteza.myserverurl.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name corteza.myserverurl.com;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
proxy_pass http://172.17.0.1:14000/;
}
}