Network proxies
Enterprise networks often don't have direct outside HTTP access, but enforce
the use of proxies. If you're on such a network, you can request that rustup
uses a proxy by setting its URL in the environment. In most cases, setting
https_proxy
should be sufficient. On a Unix-like system with a shell like
bash or zsh, you could use:
export https_proxy=socks5://proxy.example.com:1080 # or http://proxy.example.com:8080
On Windows, the command would be:
set https_proxy=socks5://proxy.example.com:1080
If you need a more complex setup, rustup
supports the convention used by the
curl program, documented in the ENVIRONMENT section of its manual
page.
The use of curl
is presently deprecated, however it can still be used by
providing the RUSTUP_USE_CURL
environment variable, for example:
RUSTUP_USE_CURL=1 rustup update
Note that some versions of libcurl
apparently require you to drop the
http://
or https://
prefix in environment variables. For example, export http_proxy=proxy.example.com:1080
(and likewise for HTTPS). If you are
getting an SSL unknown protocol
error from rustup
via libcurl
but the
command-line curl
command works fine, this may be the problem.