Using Docker on a CyberPanel VPS, my n8n instance on mydomain.com:5678 runs perfectly on HTTP but fails on HTTPS with Let’s Encrypt SSL. Looking for a straightforward configuration solution.
I had a similar issue a few months back with my Docker-hosted app on CyberPanel and found that the trick was to adjust the reverse proxy settings. The SSL certificate from Let’s Encrypt was set up correctly, but the container wasn’t aware of the forwarded HTTPS requests. I resolved it by ensuring my proxy configuration passed the proper headers like X-Forwarded-Proto and adjusted the base URL in my app to use https. Double-checking these configurations and verifying with the container logs helped me pinpoint the problem.
In my experience, ensuring that the Docker container is aware of the secure connection is key to resolving this issue. I discovered that some applications require explicit settings to recognize forwarded HTTPS headers even when the Let’s Encrypt certificates are correctly implemented. In my case, modifying the container’s environment to use the appropriate base URL and validating that the reverse proxy forwards all necessary headers made a significant difference. It is essential to verify that the application listens on the correct port and properly interprets the secure context established by the proxy.
hey try checking if your n8n config recives the correct cert path. sometimes the docker container doesnt pickup changes automatically so i had to update my service config directly. Also, ensure the proxy ip is trusted since that misrouting can cause ssl hiccups.
I ran into a similar problem when I was setting up n8n on Docker. I found that besides adjusting the reverse proxy, it is crucial to properly configure the application’s settings to ensure it understands the secure connection. In my case, it was important to explicitly define the secure protocol and update the application’s environment variables to recognize the SSL termination at the proxy. Reviewing the detailed logs helped me understand that the miscommunication was between the proxy and the container environment, which led to the necessary configuration changes.