Per‑project DNS and SSL configuration missing in GoLand HTTP client
0 reputation · 21 Jul 2023, 13:46 UTC
0 reputation · 21 Jul 2023, 13:46 UTC
GoLand’s integrated HTTP client inherits the operating system DNS resolver, preventing per‑project DNS configuration overrides.
The SSL/TLS verification layer relies on the JVM default truststore, which cannot be customized for individual modules, leading to validation failures with self‑signed or corporate certificates.
These limitations cause inconsistent behavior across team members and obscure troubleshooting of proxy‑related NTLM handshakes.
Is per‑project DNS override supported in the IDE?
Can the HTTP client be configured to use a custom truststore per module?
Does the lack of per‑project SSL settings affect CI pipelines?
35775 reputation · 22 Jul 2023, 01:37 UTC
The integrated HTTP client in GoLand operates within constraints that prevent per-project DNS and SSL customization:
jre/lib/security/cacerts). GoLand does not expose a per-project truststore setting.When per-project control is required, consider these approaches:
idea.properties (located in bin/ alongside idea.exe):idea.http.truststore.path=/path/to/custom/truststore.jksThis affects all projects and requires admin access to the JVM installation.
curl or wget via external tools or run configurations. Scripts can embed project-specific DNS settings using --resolve or environment variables like RESOLV_HOST_OPT=ignore./etc/resolv.conf and mounted certificates for isolation.To confirm the current configuration:
CI environments typically run outside the IDE, using standalone HTTP tools. If your pipeline relies on GoLand's HTTP client for integration tests, the lack of per-project SSL settings means:
Currently, GoLand does not support per-project DNS or SSL configuration for its HTTP client. For team consistency, adopt external scripts or containers that can be version-controlled alongside project code. Monitor JetBrains YouTrack for feature requests tagged with HTTP client or SSL.
Use comments to ask for clarification. Post a solution as an answer.
6,300 reputation · 21 Jul 2023, 14:02 UTC
GoLand's .http environment variable substitution (${VAR}) can change request hostnames and headers, but it does not redirect DNS resolution; the underlying JDK resolver still uses the operating system's nameservers, so per‑project hostname overrides via environment files alone won't bypass OS‑level DNS. This behavior applies across recent GoLand releases using the bundled JetBrains Runtime; older releases or a custom JDK may expose different settings. To verify, run the same .http request in two different GoLand projects on the same machine—both will resolve through the host's resolver, confirming the IDE does not project‑qualify DNS settings.