Draft Testing QR-code cause Form update failed

1. What is the issue? Please be detailed.
ODK-Collect scans the QR-code generated by Forms Draft Testing, and an error occurs when trying to update Form.(enter + Start new form, use reflash icon)

I tried to paste the link into a web browser, but the same error occurred on both my mobile phone and my computer.

{"message":"Could not find the resource you were looking for.","code":404.1}

I tried to remove the string "test/se9qUy$CJj1522DqHm$j!eaCCemNtOfZPmO2hZPORrdPn$mRCoA2Ico366cnxs7y/" and I can see some information.

2. What steps can we take to reproduce this issue?
".env", SSL_TYPE I use customssl, DOMAIN is set up using AD, only for internal network use, I use OpenSSC to create a certificate, and have installed the certificate on my computer and mobile phone. There will be no certificate issue when opening the ODK Central.

In "enketo.dockerfile", I added "ENV NODE_TLS_REJECT_UNAUTHORIZED='0'" in the second line. It is currently in the Draft Checklist and can be opened normally using Preview.

Not sure if customssl is causing the problem?

3. What have you tried to fix the issue?
I tried modifying the Form and rebuilding it, but I still couldn't update the Form normally.

4. Upload any forms or screenshots you can share publicly below.

ODK Central
versions:
42d83f19b30d638aae871243bce2caa0d8c6095d (v2024.1.0-1-g42d83f1)
3fb0c22b1cbdc3a6004963afcc3847a82c09307d client (v2024.1.0)
b4754cf52bfa64b1ca841bc9ccb64a38726398e8 server (v2024.1.0)

ODK Collect v2024.2.0 Beta 2

Hi Andy,

Welcome to ODK Forum, if you have a moment, feel free to introduce yourself here

I am assuming that you have configured a self-signed SSL certificate. If that's true then ODK Collect will not work with it even if you have trusted the certificate in your Android device.

You would need a CA signed certificate for Collect to work.

Thanks,

Sadiq

Hi Sadiq, I have indeed set up self-signed SSL on ODK Central and also set up CA on Android, but I still have problems.

Can you please provide a tutorial on the process of "CA signed certificate for Collect"?

Later, I read this tutorial and switched to using DuckDNS to handle it, so it can be used.

But if can use the internal Domain, for me it will be a better choice, thank you!

Thank you!

It can be done but it's complicated. Here are the few points that might help in achieving what you want:

  • Central and Collect need SSL certificate signed by a public and trusted Certificate Authority (CA)
  • Public CAs only sign certificate for public domain names (DNS)
  • If you own the domain name publicly that you are using internally then you can get your certificate signed by the public CA. You would probably need to add record(s) in your public domain (DNS) controller to prove that you own the domain name. Once you have the signed certificate, you can then use it internally as well. DNS records can be removed afterwards as well. I am assuming you own nienhsing.com.mx so you should be able to get the certificate for odk.nienhsing.com.mx
  • You can read this(external) thread for why public CA don't signed certificates for internal domain names.
2 Likes

Thanks for the reply. Using internal Domain will not work. Thank you again!

1 Like