Troubleshooting¶
This page details some common issues and their respective workarounds. For Anaconda installation or technical support options, visit our support offerings page.
403 error¶
Problem¶
A 403 error is a generic Forbidden error issued by a web server in the event the client is forbidden from accessing a resource. The 403 error you are receiving may look like the following:
* Collecting package metadata (current_repodata.json): failed
* UnavailableInvalidChannel: The channel is not accessible or is invalid.
* channel name: pkgs/main
* channel url: https://repo.anaconda.com/pkgs/main
* error code: 403
* You will need to adjust your conda configuration to proceed.
* Use `conda config --show channels` to view your configuration's current state, and use `conda config --show-sources` to view config file locations.
- There are several reasons a 403 error could be received:
- The user has misconfigured their channels in their configuration (for example, the secure location where the token is stored was accidentally deleted (most common)
- A firewall or other security device or system is preventing user access (second most common)
- We are blocking their access because of a potential terms of service violation (third most common)
Solution¶
- First, run the following to undo your configuration of Anaconda Professional::
- conda config –remove-key default_channels
- Next, install or upgrade the conda-token tool::
- conda install –freeze-installed conda-token
- Lastly, re-apply the token and configuration settings::
- # Replace <TOKEN> with your token conda token set <TOKEN>
If this doesn’t resolve the issue, Anaconda recommends consulting our Terms of Service error page.
Using Redis¶
Cause
By default, Redis does not require a password. Not enabling a password requirement leaves your instance of Anaconda Server vulnerable.
Solution
Follow these steps to password protect your instance:
In the installation directory, update
config/nginx/conf.d/repo.conf
to include theadd_header
directive somewhere in theserver
block:server { ... add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; ... }
Create a directory called
redis
in the configs directory:mkdir -p config/redis
Create a file called
redis.conf
insideconfig/redis
with the following contents:requirepass "mypassword"
Update the
docker-compose.yml
file of TE installation to mount this custom redis config:redis: image: ${DOCKER_REGISTRY}redis-ubi:${VERSION} restart: always volumes: - ${BASE_INSTALL_DIR}/config/redis/redis.conf:/usr/local/etc/redis/redis.conf command: - /usr/local/etc/redis/redis.conf #Alternative: # redis: # image: ${DOCKER_REGISTRY}redis-ubi8:${VERSION} # restart: always # ports: # - 6379:6379 # command: # - /usr/local/bin/redis-server # - --requirepass mypassword # If you use this alternative configuration, there's no need to create a config/redis/redis.conf file to mount in.
Update
REDIS_ADDR
variable in.env
file to include password:... REDIS_ADDR=redis://:mypassword@redis:6379/0 ...
Restart docker-compose services so changes are picked up. You can do this using:
docker-compose up -d