Nginx SSL conf to access phpMyAdmin

ideanet nginx-forum at
Fri May 7 17:30:18 MSD 2010

I have some trouble to configure correctly the access to phpMyAdmin via SSL.
1. problem: when i call the URL I don't have access.
2. problem: If I call the URL, I see the login page. I enter the account and password and after I'm redirected to the port 443 ( with the message:

400 Bad Request
The plain HTTP request was sent to HTTPS port

At this point, if I press the back button of the browser and reload the login page, I can enter on the phpMyAdmin.

I read that is needed the conf "fastcgi_param HTTPS on;", that I have included on my SSL section, but doesn't have any effect...

Here my SSL conf:

[i]server {
                listen                  443;
                server_name   ;
                server_tokens           off;
                root                    /var/www/html;

                ssl                     on;
                ssl_certificate         /etc/nginx/mydomain.crt;
                ssl_certificate_key     /etc/nginx/mydomain.key;

                keepalive_timeout       70;
                add_header              Front-End-Https    on;

                client_max_body_size    50M;

                fastcgi_param           HTTPS on;

                ## Protect some directory and files 
                location ~ (^/(app/|includes/|lib/|/pkginfo/|var/|report/config.xml)|/\.svn/|/.hta.+) {
                        deny all;

                ## Specific SSL log files
                access_log              /var/log/nginx/ssl.access.log;
                error_log               /var/log/nginx/ssl.error.log;

                ## this rewrites all the requests to the maintenance.html
                if (-f $document_root/system/maintenance.html) {
                        rewrite    ^(.*)$    /system/maintenance.html last;

                ## Handle all .php files, /downloader and /report
                location ~ (\.php|/downloader/?|/report/?)$ {
                        if ($request_uri ~ /(downloader|report)$){
                                # no trailing /, redirecting
                                rewrite  ^(.*)$ $1/ permanent;

                        fastcgi_index index.php;
                        include /etc/nginx/fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                        if (-e $request_filename) { # check if requested path exists
                        fastcgi_pass backend;


                ## Magento specific configuration
                location / {
                        # set expire headers
                        if ($request_uri ~* "\.(ico|css|js|gif|jpe?g|png)$") {
                                expires max;

                        # set fastcgi settings, not allowed in the "if" block
                        include /etc/nginx/fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
                        fastcgi_param SCRIPT_NAME /index.php;
                        fastcgi_param HTTPS on;
                        fastcgi_read_timeout 240;

                        # rewrite a file not found, pass it to the backend
                        if (!-f $request_filename) {
                                fastcgi_pass backend;


Thank you for any help

Posted at Nginx Forum:,83832,83832#msg-83832

More information about the nginx mailing list