pixelfed / docs

Pixelfed Documentation
https://docs.pixelfed.org
GNU Affero General Public License v3.0
175 stars 69 forks source link

Ciphers problem #5

Closed ghost closed 5 years ago

ghost commented 5 years ago

Hello,

I followed the exemple given in the documentation regarding Nginx and now I'm facing this error: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.

Can you help?

Thanks in advance,

dansup commented 5 years ago

Looks like a regression introduced in #4

ghost commented 5 years ago

Hi @dansup,

Nope, I reverted it back and it's the same.

Here is the full error:

/somewhere/pixelfed/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php
    protected $cipher;

    /**
     * Create a new encrypter instance.
     *
     * @param  string  $key
     * @param  string  $cipher
     * @return void
     *
     * @throws \RuntimeException
     */
    public function __construct($key, $cipher = 'AES-128-CBC')
    {
        $key = (string) $key;

        if (static::supported($key, $cipher)) {
            $this->key = $key;
            $this->cipher = $cipher;
        } else {
            throw new RuntimeException('The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.');
        }
    }

    /**
     * Determine if the given key and cipher combination is valid.
     *
     * @param  string  $key
     * @param  string  $cipher
     * @return bool
     */
    public static function supported($key, $cipher)

Here is my .env file:

APP_NAME="PixelFed | XXXXX XX"
APP_ENV=local
APP_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
APP_DEBUG=true
APP_URL=https://xxx.xxxx.xx

ADMIN_DOMAIN="xxxx.xxxxxx.xx"
APP_DOMAIN="xxxx.xxxxxxx.xx"

LOG_CHANNEL=stack

DB_CONNECTION=pgsql
DB_HOST=XX.XX.XX.XX
DB_PORT=5432
DB_DATABASE=pixelfed_prod
DB_USERNAME=pixelfed
DB_PASSWORD="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

BROADCAST_DRIVER=log
CACHE_DRIVER=redis
SESSION_DRIVER=redis
SESSION_LIFETIME=120
QUEUE_DRIVER=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=log
MAIL_HOST=mail.xxxxxx.xxx
MAIL_PORT=587
MAIL_USERNAME=no-reply@xxxxxx.xx
MAIL_PASSWORD="XXXXXXXXXXXXXXXXXXXX"
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="no-reply@xxxxxx.xx"
MAIL_FROM_NAME="Pixelfed"

SESSION_DOMAIN="${APP_DOMAIN}"
SESSION_SECURE_COOKIE=true
API_BASE="/api/1/"
API_SEARCH="/api/search"

OPEN_REGISTRATION=true
RECAPTCHA_ENABLED=false
ENFORCE_EMAIL_VERIFICATION=true

MAX_PHOTO_SIZE=15000
MAX_CAPTION_LENGTH=150
MAX_ALBUM_LENGTH=4

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
MIX_APP_URL="${APP_URL}"
MIX_API_BASE="${API_BASE}"
MIX_API_SEARCH="${API_SEARCH}"

ACTIVITYPUB_INBOX=true
ACTIVITYPUB_SHAREDINBOX=true
HORIZON_DARKMODE=true

# Set these both "true" to enable federation.
# You might need to also run:
#   php artisan cache:clear
#   php artisan optimize:clear
#   php artisan optimize
ACTIVITY_PUB=true
REMOTE_FOLLOW=true
dansup commented 5 years ago

@mathiasblc the APP_KEY in .env should be set by running the php artisan key:generate command.

ghost commented 5 years ago

The command you provided gives no output and doesn't modify the .env file, I instead used php artisan key:generate --show, then did a php artisan config:cache and it worked!

It would be cool to update the docs accordingly. 👍🏻

dansup commented 5 years ago

@mathiasblc It does modify the .env, maybe you have a permissions issue?

ghost commented 5 years ago

I'm using the root user for this (I'm in an unprivileged container), so I don't think so. 🤷🏻‍♂️

-rw-r--r-- 1 www-data www-data 1.5K Mar 26 19:02 .env

Anyway, thanks for the help. I'll try to submit a PR to fix this.