-
-
Notifications
You must be signed in to change notification settings - Fork 656
docs: Explain corp vpn and proxy, fixup FAQ, fixes #7048 #7061
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
This still needs a bit of work and community review:
|
c2b2f12
to
92e89ad
Compare
Rebased to pick up buildkite skip for docs: |
Here is @shelane writeup. Adding Custom CA Certificates to Your DDEV ProjectWhen working with DDEV in environments that require custom CA certificates (e.g., internal networks, VPNs, or corporate proxies), it is essential to properly configure these certificates to ensure secure communication. This guide provides step-by-step instructions for obtaining, converting, and installing custom CA certificates in your DDEV project. Steps to Add Custom CA Certificates
To ensure compatibility, all CA certificates must be in PEM format. PEM format certificates are human-readable and start with
Replace .crt with the path to your DER certificate and .crt with the desired output file name.
Replace https://www.google.com with a URL that requires the custom CA certificates. A successful response will include a 200 OK status. TroubleshootingCommon Issues
Debugging Tips
Example Directory Structure After completing the steps above, your .ddev/web-build directory should look like this:
SummaryBy following this guide, you can successfully add and configure custom CA certificates in your DDEV project. Ensuring the certificates are in PEM format and properly installed in the container is critical for secure communication with internal or external services. |
Hello, just my 5 cents here as I was working with DDEV behind corporate proxy for last few months, struggling with no previous experience with proxies at all (long story short: proxy info inside
I was doing all this research this week in my office, but today I was able to reproduce same situation on my personal PC with two VirtualBox machines (one Debian with Squid as proxy, and one Linux Mint with DDEV, connected together via 'internal' network). |
@maciazek thanks for checking in! your comment is about a proxy only, right, not a VPN situation? Was your problem with the ddev-router not becoming ready as in the issue you link to? If so, have you tested DDEV HEAD with the fix mentioned in that issue? https://ddev.readthedocs.io/en/stable/developers/building-contributing/#testing-latest-commits-on-head If you have suggestions for this PR based on your work (and using DDEV HEAD) they would be very welcome! |
Yes, I'm talking about proxy only, not VPN as I'm working on-site.
If there is some special character, it has to be url-encoded (with double %):
And yes, after setting up my proxy correctly (in
Today I upgraded to 1.24.3 and ddev-router couldn't start again. Then I tried HEAD version (ddev version v1.24.3-25-g419560521) as described in docs and now ddev-router is starting without problems (I was testing in my local reproduced environment). This week I'll try to test it at my workplace, but I assume it will behave the same way. So, in my opinion there are 2 things that should be added to docs (from my environment's perspective, of course):
{
"proxies": {
"default": {
"httpProxy": "http://username:p%%40ssword@192.168.1.10:3128",
"httpsProxy": "http://username:p%%40ssword@192.168.1.10:3128",
"noProxy": "localhost,127.0.0.1/8,::1,*.ddev.site,ddev-myapp1-web,ddev-myapp1-phpmyadmin,ddev-myapp2-web,ddev-myapp2-phpmyadmin"
}
}
}
Maybe there is some simpler way to set these container names once for all projects? |
Thanks @maciazek -
I've had varying approaches to this, and am a bit confused about it. You're sure that the /etc/systemd stuff is required, as opposed to just putting it in the user's .docker, true?
That seems enormously awkward and wrong of course. One note: I've seen a mention that Thanks so much for your careful work and help on this! |
I deleted file
I have HTTP_PROXY env vars set in I also tried "Daemon configuration" approach described in the docs, but I was able to pull images only when I set up Config set via both 'rootless modes' described in docs (
I did some more tests (in
Errors are coming from Squid (
|
Thanks. Just a note that DDEV does not support rootless docker. |
Please check this PR and leave a review there: |
92e89ad
to
da3f8b7
Compare
ea1461e
to
68575f5
Compare
I'd appreciate everybody's review again, https://github.com/ddev/ddev/pull/7061/files I think this now covers an enormous range of possibilities. The important rendered version is at https://ddev--7061.org.readthedocs.build/en/7061/users/usage/networking/ If you're interested in testing setup, https://ddev--7061.org.readthedocs.build/en/7061/developers/network-test-environments/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, so much information!
I'm not sure where squid.host-only:3128
comes from, I replaced it with localhost:3128
to make it work for me locally.
"proxies": { | ||
"http-proxy": "http://squid.host-only:3128", | ||
"https-proxy": "http://squid.host-only:3128", | ||
"no-proxy": "localhost,127.0.0.0/8" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should look like NO_PROXY=localhost,127.0.0.1,::1,*.ddev.site
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this situation it doesn't matter, because it's all about getting to the registry, and doesn't affect our containers. At least that's what I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay.
On |
Co-authored-by: Stanislav Zhuk <stasadev@gmail.com>
The intent of the "Network Test Environments" page is just so that we have a way to set this up again; it's not intended for any user; hopefully the bump on the top keeps it out of the search results mostly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
970f629
to
60e094e
Compare
For reviewers, this is now in https://ddev.readthedocs.io/en/latest/users/usage/networking/ and we'd love your feedback as you discover it, just open an issue or click the pencil in the upper right! |
The Issue
We occasionally have people with VPN or proxy situations that need help and reference about those
How This PR Solves The Issue
name
info to FAQTODO
name
line to remote-config if it's not already thereddev-proxy-support
can work when pulling new images (it probably can't)Manual Testing Instructions
Review (mostly) at https://ddev--7061.org.readthedocs.build/en/7061/users/usage/networking/
Network test setup rendered at https://ddev--7061.org.readthedocs.build/en/7061/developers/network-test-environments/
FAQ is at https://ddev--7061.org.readthedocs.build/en/7061/users/usage/faq/#i-want-to-use-the-same-code-with-various-project-names