Recaptcha not working (Vanilla 2.5.1)

I've migrated my old support site from phpBB to Vanilla (and what an improvement it is too!) - but I'm having some difficulty with Recaptcha. I've entered my keys in the User Registration Settings - and clicking Save reports that 'Your settings have been saved' (which sounds hopeful), but sadly Recaptcha still doesn't work.
Digging a little deeper into the Javascript logs, I see that clicking Save also resulted in an error 'The server responded with a status of 500 (Internal Server Error)' when trying to access dashboard/settings/registration.
Looking through my Vanilla install, I see that I have applications/dashboard/settings/class.hooks.php, configuration.php and structure.php - but no registration. Is something missing from my install? How can I make this work?
Thank you in advance for any help that you may be able to provide.

Comments

  • R_JR_J Admin

    You should have a .htaccess file in the root folder of your forum. The purpose of this file is to internally change "yourdomain.com/dashboard/settings/registration" to You should have a .htaccess file
    "yourdomain.com/index.php?p=/dashboard/settings/registration". So the only file you will find is the index.php and which file is called afterwards is depending on that "front controller". You will most probably be able to find /applications/dashboard/controllers/class.settingscontroller.php with the method registration, but you shouldn't need to search for that.

    A 500 server error is almost always a misconfiguration. Look at this

  • Ahh. That makes sense. What would the settings for my nginx configuration be (no apache = no htaccess!)

  • Excellent suggestions, all - but none get me any closer to a solution. To be specific, everything else about my Vanilla installation works and looks beautiful. The only bit that doesn't work correctly is recaptcha. My nginx configuration looks like this:

    server {
            listen 0.0.0.0:8080;
            server_name  <my website name>.com www.<my website name>.com;
            return 301 https://$server_name$request_uri;
    }
    
    server {
            listen 0.0.0.0:8443;
            server_name  <my website name>.com www.<my website name>.com;
            ssl_certificate     /bitnami/nginx/conf/bitnami/certs/www.<my website name>.com.crt;
            ssl_certificate_key /bitnami/nginx/conf/bitnami/certs/www.<my website name>.com.key;
            server_tokens off;
    
            error_log "/opt/bitnami/nginx/logs/<my website name>-error.log";
            access_log  "/opt/bitnami/nginx/logs/<my website name>-access.log";
    
            location / {
                    try_files $uri $uri/index.php;
            }
    
            location ~ \.php$ {
            # fastcgi_pass [PHP_FPM_LINK_NAME]:9000;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_pass phpfpm-<my website name>:9000;
                    fastcgi_index index.php;
                    include fastcgi.conf;
                    root /app;
                    error_page 401 /e401.php;
                    error_page 403 /e403.php;
                    error_page 404 /e404.php;
                    fastcgi_intercept_errors on;
            }
    
            location ~ \.htm$ {
                    root   /opt/bitnami/nginx/html/<my website name>/htdocs;
            }
    
            location ~* \.(js|css|png|jpg|jpeg|gif|ico|dmg|zip|svg)$ {
                    expires max;
                    log_not_found off;
                    root   /opt/bitnami/nginx/html/<my website name>/htdocs;
            }
    
            location /wordpress {
                     try_files $uri $uri/ /wordpress/index.php?$args;
            }
    
            location /forum {
                    try_files $uri @vanilla;
            }
    
            location @vanilla {
                    rewrite ^/forum(/.*) /forum/index.php?p=$1&$args last;
            }
    
            location ~ \.php$ {
                    fastcgi_split_path_info ^(/wordpress)(/.*)$;
            }
    }
    
    

    My website is setup using nginx in Docker - hence the use of 8080 and 8443.

    When setting up reCAPTCHA, and after clicking Save, I get this screen:

    After having done this (with the associated Javascript errors described earlier), an attempt to sign up a new account looks like this:

Sign In or Register to comment.