Jump to content

SSL Monitoring does not work.


agarzon

Recommended Posts

All my hosted domains are SSL protected by letsencrypt automatically.

However looks like they don't according the new SSL monitor (7.7.0)

Already checked the https://help.whmcs.com/m/85428/l/1035090-troubleshooting-red-ssl-monitoring-padlock-icons and doesn't help.

Running CURL from the same server my WHCMS is installed always success with no errors at all. Tested different domains, this one is just one of hundred of samples:

curl -v https://aldeavalleencantado.com

* Rebuilt URL to: https://aldeavalleencantado.com/
*   Trying 173.208.145.134...
* TCP_NODELAY set
* Connected to aldeavalleencantado.com (173.208.145.134) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: none
  CApath: none
* loaded libnssckbi.so
* ALPN, server accepted to use h2
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* 	subject: CN=aldeavalleencantado.com
* 	start date: Dec 17 15:34:50 2018 GMT
* 	expire date: Mar 17 15:34:50 2019 GMT
* 	common name: aldeavalleencantado.com
* 	issuer: CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x23abdf0)
> GET / HTTP/2
> Host: aldeavalleencantado.com
> User-Agent: curl/7.57.0
> Accept: */*
> 
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 200 
< server: nginx
< date: Tue, 29 Jan 2019 17:12:47 GMT
< content-type: text/html
< content-length: 5531
< last-modified: Mon, 17 Dec 2018 16:34:04 GMT
< vary: Accept-Encoding
< etag: "5c17cffc-159b"
< x-powered-by: PleskLin
< accept-ranges: bytes
< 
......

 

Link to comment
Share on other sites

Even when this is not documented at ALL. I suspected maybe there is a cron task related with the new SSL monitor. So I went to check and executed (https://help.whmcs.com/m/64751/l/683269)

cron.php all -F  -vvv

And I saw that indeed there SSL monitor and cron are related. But it failed.

WHMCS Automation Task Utility: all
==================================

 Daily Cron Automation Mode

Queuing Tasks
-------------

 Force run any tasks: ignore "in progress" and "is due"
 Task queues ready

Executing Application Queue
---------------------------

  0/27 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░]   0% < 1 sec/< 1 sec 22.0 MiB 
 Currency Exchange Rates
  1/27 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░]   3% < 1 sec/< 1 sec 22.0 MiB 
 Product Pricing Updates
  2/27 [▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░]   7% < 1 sec/< 1 sec 22.0 MiB 
 Invoices
  3/27 [▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░]  11% < 1 sec/< 1 sec 24.0 MiB 
 Late Fees
  4/27 [▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░]  14%  1 sec/7 secs 24.0 MiB 
 Credit Card Charges
  5/27 [▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░]  18%  1 sec/5 secs 24.0 MiB 
 Invoice & Overdue Reminders
  6/27 [▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░]  22% 4 secs/18 secs 40.0 MiB 
 Domain Renewal Notices
  7/27 [▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░]  25% 4 secs/15 secs 40.0 MiB 
 Cancellation Requests
  8/27 [▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░]  29% 4 secs/14 secs 40.0 MiB 
 Overdue Suspensions
  9/27 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░]  33% 5 secs/15 secs 40.0 MiB 
 Overdue Terminations
 10/27 [▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░]  37% 5 secs/14 secs 40.0 MiB 
 Fixed Term Terminations
 11/27 [▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░]  40% 5 secs/12 secs 40.0 MiB 
 Inactive Tickets
 12/27 [▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░]  44% 5 secs/11 secs 42.0 MiB 
 Delayed Affiliate Commissions
 13/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░]  48% 6 secs/12 secs 42.0 MiB 
 Affiliate Reports
 14/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░]  51% 6 secs/12 secs 42.0 MiB 
 Email Marketer Rules
 15/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░]  55% 6 secs/11 secs 42.0 MiB 
 Credit Card Expiry Notices
 16/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░]  59% 7 secs/12 secs 42.0 MiB 
 SSL Sync

                                                                                                                        
 [ERROR] PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and    
         (utf8_unicode_ci,IMPLICIT) for operation '=' in                                                                
         /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php:335                                     
         Stack trace:                                                                                                   
         #0 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(335): PDOStatement->execute(Array)   
         #1 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(706):                                
         Illuminate\Database\Connection->Illuminate\Database\{closure}(Object(Illuminate\Database\MySqlConnection),     
         'select `userid`...', Array)                                                                                   
         #2 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(669):                                
         Illuminate\Database\Connection->runQueryCallback('select `userid`...', Array, Object(Closure))                 
         #3 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(342):                                
         Illuminate\Database\Connection->run('select `userid`...', Array, Object(Closure))                              
         #4 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1583):                            
         Illuminate\Database\Connection->select('select `userid`...', Array, true)                                      
         #5 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1569):                            
         Illuminate\Database\Query\Builder->runSelect()                                                                 
         #6 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1813):                            
         Illuminate\Database\Query\Builder->get(Array)                                                                  
         #7 /var/www/www.venehosting.com/vendor/illuminate/database/Eloquent/Builder.php(442):                          
         Illuminate\Database\Query\Builder->pluck('userid', 'domain')                                                   
         #8 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Task/SslStatusSync.php(0):              
         Illuminate\Database\Eloquent\Builder->pluck('userid', 'domain')                                                
         #9 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Task/SslStatusSync.php(0):              
         WHMCS\Cron\Task\SslStatusSync->getNewDomains()                                                                 
         #10 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Scheduling/Task/AbstractTask.php(0):        
         WHMCS\Cron\Task\SslStatusSync->__invoke()                                                                      
         #11 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Scheduling/Task/AbstractTask.php(0):        
         WHMCS\Scheduling\Task\AbstractTask->execute()                                                                  
         #12                                                                                                            
         /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Console/Command/AbstractCronCommand.php(0):
         WHMCS\Scheduling\Task\AbstractTask->run()                                                                      
         #13                                                                                                            
         /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Console/Command/AbstractCronCommand.php(0):
         WHMCS\Cron\Console\Command\AbstractCronCommand->executeCollection(Object(WHMCS\Scheduling\Task\Collection))    
         #14 /var/www/www.venehosting.com/vendor/symfony/console/Command/Command.php(259):                              
         WHMCS\Cron\Console\Command\AbstractCronCommand->execute(Object(WHMCS\Cron\Console\Input\CliInput),             
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #15 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(844):                                  
         Symfony\Component\Console\Command\Command->run(Object(WHMCS\Cron\Console\Input\CliInput),                      
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #16 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(192):                                  
         Symfony\Component\Console\Application->doRunCommand(Object(WHMCS\Cron\Console\Command\AllCommand),             
         Object(WHMCS\Cron\Console\Input\CliInput), Object(Symfony\Component\Console\Output\ConsoleOutput))             
         #17 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(123):                                  
         Symfony\Component\Console\Application->doRun(Object(WHMCS\Cron\Console\Input\CliInput),                        
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #18 /var/www/www.venehosting.com/crons/cron.php(0):                                                            
         Symfony\Component\Console\Application->run(Object(WHMCS\Cron\Console\Input\CliInput),                          
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #19 {main}                                                                                                     
                                                                                                                        
         Next Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations        
         (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' (SQL: select `userid`, `domain`    
         from `tblhosting` where `domain` !=  and domain NOT IN (SELECT domain_name FROM tblsslstatus)) in              
         /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php:713                                     
         Stack trace:                                                                                                   
         #0 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(669):                                
         Illuminate\Database\Connection->runQueryCallback('select `userid`...', Array, Object(Closure))                 
         #1 /var/www/www.venehosting.com/vendor/illuminate/database/Connection.php(342):                                
         Illuminate\Database\Connection->run('select `userid`...', Array, Object(Closure))                              
         #2 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1583):                            
         Illuminate\Database\Connection->select('select `userid`...', Array, true)                                      
         #3 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1569):                            
         Illuminate\Database\Query\Builder->runSelect()                                                                 
         #4 /var/www/www.venehosting.com/vendor/illuminate/database/Query/Builder.php(1813):                            
         Illuminate\Database\Query\Builder->get(Array)                                                                  
         #5 /var/www/www.venehosting.com/vendor/illuminate/database/Eloquent/Builder.php(442):                          
         Illuminate\Database\Query\Builder->pluck('userid', 'domain')                                                   
         #6 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Task/SslStatusSync.php(0):              
         Illuminate\Database\Eloquent\Builder->pluck('userid', 'domain')                                                
         #7 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Task/SslStatusSync.php(0):              
         WHMCS\Cron\Task\SslStatusSync->getNewDomains()                                                                 
         #8 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Scheduling/Task/AbstractTask.php(0):         
         WHMCS\Cron\Task\SslStatusSync->__invoke()                                                                      
         #9 /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Scheduling/Task/AbstractTask.php(0):         
         WHMCS\Scheduling\Task\AbstractTask->execute()                                                                  
         #10                                                                                                            
         /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Console/Command/AbstractCronCommand.php(0):
         WHMCS\Scheduling\Task\AbstractTask->run()                                                                      
         #11                                                                                                            
         /var/www/www.venehosting.com/vendor/whmcs/whmcs-foundation/lib/Cron/Console/Command/AbstractCronCommand.php(0):
         WHMCS\Cron\Console\Command\AbstractCronCommand->executeCollection(Object(WHMCS\Scheduling\Task\Collection))    
         #12 /var/www/www.venehosting.com/vendor/symfony/console/Command/Command.php(259):                              
         WHMCS\Cron\Console\Command\AbstractCronCommand->execute(Object(WHMCS\Cron\Console\Input\CliInput),             
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #13 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(844):                                  
         Symfony\Component\Console\Command\Command->run(Object(WHMCS\Cron\Console\Input\CliInput),                      
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #14 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(192):                                  
         Symfony\Component\Console\Application->doRunCommand(Object(WHMCS\Cron\Console\Command\AllCommand),             
         Object(WHMCS\Cron\Console\Input\CliInput), Object(Symfony\Component\Console\Output\ConsoleOutput))             
         #15 /var/www/www.venehosting.com/vendor/symfony/console/Application.php(123):                                  
         Symfony\Component\Console\Application->doRun(Object(WHMCS\Cron\Console\Input\CliInput),                        
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #16 /var/www/www.venehosting.com/crons/cron.php(0):                                                            
         Symfony\Component\Console\Application->run(Object(WHMCS\Cron\Console\Input\CliInput),                          
         Object(Symfony\Component\Console\Output\ConsoleOutput))                                                        
         #17 {main}                                                                                                     
                                                                                                                        

 17/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░]  62% 7 secs/11 secs 42.0 MiB 
 Server Usage Stats
 18/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░]  66% 20 secs/30 secs 46.0 MiB 
 Overage Billing Charges
 19/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░]  70% 21 secs/30 secs 46.0 MiB 
 Client Status Update
 20/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░]  74% 21 secs/28 secs 46.0 MiB 
 Domain Expiry
 21/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░]  77% 21 secs/27 secs 46.0 MiB 
 Ticket Escalation Rules
 22/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░]  81% 22 secs/27 secs 46.0 MiB 
 Data Retention Pruning
 23/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░]  85% 22 secs/26 secs 46.0 MiB 
 WHMCS Updates
 24/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░]  88% 25 secs/28 secs 54.0 MiB 
 Run Jobs Queue
 25/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░]  92% 25 secs/27 secs 54.0 MiB 
 Domain Transfer Status Synchronisation
 26/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░]  96% 26 secs/27 secs 56.0 MiB 
 Domain Expiry Synchronisation
 27/27 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% 38 secs/38 secs 56.0 MiB


 Sending Daily Cron Digest email

Executing System Queue
----------------------

 4/4 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% < 1 sec/< 1 sec 58.0 MiB

                                                                                                                        
 [WARNING] 1 tasks failed to complete                                                                                   
                                                                                                                        

But my upgrade to 7.7.0 was successful with no errors according the installer.log

[2019-01-29 15:46:35][WHMCS Installer] DEBUG: Installer bootstrapped []
[2019-01-29 15:46:37][WHMCS Installer] DEBUG: Installer bootstrapped []
[2019-01-29 15:46:37][WHMCS Installer] INFO: Previous install detected []
[2019-01-29 15:46:37][WHMCS Installer] DEBUG: An upgrade from 7.6.2-release.1 to 7.7.0-release.1 will be attempted. []
[2019-01-29 15:46:42][WHMCS Installer] DEBUG: Installer bootstrapped []
[2019-01-29 15:46:42][WHMCS Installer] INFO: Applying incremental updates to existing installation []
[2019-01-29 15:46:42][WHMCS Installer] INFO: Applying Updates for 7.7.0-alpha.1 []
[2019-01-29 15:46:49][WHMCS Installer] INFO: Performing Update Action: addPrimaryKeysToTables []
[2019-01-29 15:46:59][WHMCS Installer] INFO: Performing Update Action: migrateEUVatAddon []
[2019-01-29 15:46:59][WHMCS Installer] INFO: Performing Update Action: createInvoiceDataTable []
[2019-01-29 15:47:00][WHMCS Installer] INFO: Performing Update Action: correctSpamExpertsEmailTemplate []
[2019-01-29 15:47:00][WHMCS Installer] INFO: Performing Update Action: migrateStorageConfigurations []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Performing Update Action: updateRecaptchaOptions []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Performing Update Action: createSslStatusTable []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Performing Update Action: createTransactionHistoryTable []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Removing any obsolete file and directories []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Applying Updates for 7.7.0-beta.1 []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Performing Update Action: updateSpamExpertsWelcomeEmail []
[2019-01-29 15:47:01][WHMCS Installer] INFO: Performing Update Action: createCodeGuardWelcomeEmail []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Removing any obsolete file and directories []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Applying Updates for 7.7.0-rc.1 []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Performing Update Action: removeUnusedLegacyModules []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Removing any obsolete file and directories []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Applying Updates for 7.7.0-release.1 []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Performing Update Action: registerSslStatusSyncCronTask []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Removing any obsolete file and directories []
[2019-01-29 15:47:02][WHMCS Installer] INFO: Upgrade process completed. []


Who knows what else is broken... I guess I will be better to change the template and hide that icon, I don't want my customers to get confused.

 

Link to comment
Share on other sites

I start to believe the problem is not the cron task, the SSL monitor can perform a check even without the CRON and save the result in the table tblsslstatus as a "live action". The problem is not even the collation (I've move everything to utf8_unicode_ci according recommended here: https://docs.whmcs.com/System_Health_Status)... which btw the Database Collations check is not part of Health report but documentation says it does ¿?

Anyways, the problem is the SSL monitor is not reading the SSL information properly. 

pma.png

Link to comment
Share on other sites

And another bug to the list: 😂

SslSync cron task is going through ALL hosting and domains including anything terminated decades ago, also all marked as fraud, cancelled, closed, etc... my tblsslstatus table is going already for 3000 records and still counting. (probably will hit 25000 records and if that is the case the cron task will take 10 hours tom complete (everyday????).

 

Edited by agarzon
Link to comment
Share on other sites

@agarzon I reported this SSL error back on the 23rd and received a reply the same day that WHMCS support was able to replicate the issue and opened case #CORE-13120.

I must say I am concerned about your last finding regarding the SSLSync cron task searching through so many old domains. In my opinion it should be restricted to searching through active domains only.

@WHMCS John Is there a way we can turn this feature off until this is fixed? I have had a few of my clients contact me directly because they were concerned if their site was really secured with a certificate.

Link to comment
Share on other sites

  • WHMCS Support Manager

Hi all,

I've confirmed with the development team that the intent was this cron task is to examine active, suspended or grace status records.

As such I've opened case CORE-13147 to investigate why all services are being examined.

In the meantime you could stop this task by adding the following falg to your cron job command:

 skip --SslSync 

 

Link to comment
Share on other sites

Hi, 

  Having had WHMCS for over two years now, its disappointing me that I have clients asking about this ssl red padlock showing, when they have a free SSL on their domains. I can see no reason for it & it looks like I will need to pay someone to remove it as the only help here is add this to this and remove these things from the files etc. I pay for this WHMCS & would expect it to work, or at least be able to deselect it. I did not need it before, I certainly do not need it now & its wasting my time needing to answer clients & hunt for a way to switch it off. 

So please can WHMCS remove it or make it work without us needing to mess with files and crone jobs or whatever it takes to switch it off? 

I will even say pretty please if it helps.  

Link to comment
Share on other sites

I believe (as software engineer I am). WHCMS should make this new SSL monitoring feature fully optional and allowing easy enable/disable settings in the configuration panel or in the configuration.php file in the simplest case. And that is because adding invasive new features must be done with quirurgical precision and always having in mind: maybe some customers does not want what we think they want. No mentioning that evidently the feature was not fully tested before released as stable.

Recommending customer to edit files in your theme is not a smart move, since the new SSL monitoring bug is not only estetical problem, there are some backend processes involved... and also because mostly of your customers are not coders and expect a "working product".

Next time guys you think in adding a new invasive feature, please consider giving us (your customers) the power to enable/disable as will any idea that maybe WHMCS think is good, but ends being a bad idea.

I've been with WHMCS since almost 8 years ago.

Link to comment
Share on other sites

  • 2 weeks later...

Even when this works, there is still a massive bug in it.

if the presented certificate name does not match the website name, WHMCS still shows the domain as ssl protected.  I find this odd since curl output clearly states that even though server presents a valid SSL connection, the name does not match.

This could make client think that they already have SSL even if they do not.

Link to comment
Share on other sites

  • 2 weeks later...
On 1/29/2019 at 8:19 PM, agarzon said:

I start to believe the problem is not the cron task, the SSL monitor can perform a check even without the CRON and save the result in the table tblsslstatus as a "live action". The problem is not even the collation (I've move everything to utf8_unicode_ci according recommended here: https://docs.whmcs.com/System_Health_Status)... which btw the Database Collations check is not part of Health report but documentation says it does ¿?

Anyways, the problem is the SSL monitor is not reading the SSL information properly. 

pma.png

@agarzon, did you ever manage to solve the collation issues? We're having the similar problems, although the error is slightly different.

Syntax error or access violation: 1253 COLLATION 'utf8_unicode_ci' is not valid
         for CHARACTER SET 'latin1'

We're using utf8_unicode_ci, which should be sufficient. 

This only happens in the cron, live updates are working as expected (although return the not so great looking hardcoded image..)

Edited by ju5t
Link to comment
Share on other sites

As per WHMCS' recommendations on https://docs.whmcs.com/Database_Collations we have switched to utf8mb4_unicode_ci. We couldn't at first, as our accounting software depends on longer keys and they were not supported with utf8mb4_unicode_ci on MariaDB 10.1. I've upgraded our test server to 10.2, switched to utf8mb4_unicode_ci, but as (probably) expected--this didn't work. I have recreated the database, reimported data, converted data, all to no avail. It simply doesn't work.

Against their own recommendation, WHMCS uses utf8_unicode_ci.

SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION
         'utf8_unicode_ci' is not valid for CHARACTER SET 'latin1' (SQL: select `userid`, `domain` from `tblhosting`
         left join `tblsslstatus` on concat("" COLLATE utf8_unicode_ci, tblhosting.domain) =
         `tblsslstatus`.`domain_name` where `domain` !=  and `tblsslstatus`.`id` is null limit 100)

This query is also incorrect--it's missing the value after '`domain` !='. This query runs fine by the way when you add an empty string '' to the '`domain` !=' comparison.

So, I spent a lot of hours on a feature nobody requested nor needs, that doesn't work. WHMCS is lost, too. Has anyone here got a suggestion that I may have missed?

Edited by ju5t
Link to comment
Share on other sites

It turns out you have to set $mysql_charset in your configuration.php.

$mysql_charset = 'utf8';

We had to update our currency prefixes too. € was suddenly displayed as â‚¬. You can't use htmlentities such as &euro; in your prefix, as the PDFs generated by WHMCS can't handle it. We got that solved replacing the incorrect value in the database for € or £ via Setup > Payments > Currencies.

All we have to figure out now is how to get rid of the ugly hardcoded images WHMCS returns in its AJAX-calls for SSL checks.

Link to comment
Share on other sites

We have also been seeing this issue since updating to 7.7.x (currently on 7.7.1)

The curl test shows the following. But still we are getting a Red Padlock.  I have checked the tblsslstatus database table and found that the following fields are blank or NULL:

  • Subject_name
  • Subject_org
  • Issuer_name
  • issuer_org
  • started_date
  • expiry_date

Servier OS: Centos 7.6.1810.

Please advse if there is something we could do to check further. I have obfuscated the domain details as it's a live customer domain, though plenty of others are doing the same.

 

Spoiler

* About to connect() to domain.com.au port 443 (#0)
*   Trying 192.168.77.xx...
* Connected to domain.com.au (192.168.77.xx) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
*       subject: CN=www.domain.com.au,OU=PositiveSSL,OU=Domain Control Validated
*       start date: Mar 04 00:00:00 2019 GMT
*       expire date: Feb 26 23:59:59 2020 GMT
*       common name: www.domain.com.au
*       issuer: CN=Sectigo RSA Domain Validation Secure Server CA,O=Sectigo Limited,L=Salford,ST=Greater Manchester,C=GB
> HEAD / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: domain.com.au
> Accept: */*
>
< HTTP/1.1 307 Temporary Redirect
HTTP/1.1 307 Temporary Redirect
< Date: Wed, 13 Mar 2019 05:06:03 GMT
Date: Wed, 13 Mar 2019 05:06:03 GMT
< Server: Apache
Server: Apache
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
Pragma: no-cache
< Set-Cookie: PHPSESSID=93oqom6ribgk3mkp90qop344m6; path=/
Set-Cookie: PHPSESSID=93oqom6ribgk3mkp90qop344m6; path=/
< Location: https://domain.com.au/?v=6cc98ba2045f
Location: https://domain.com.au/?v=6cc98ba2045f
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8

 

 

Thansk for your consideration,

 

 

Geo.

Link to comment
Share on other sites

On 1/02/2019 at 10:09 AM, agarzon said:

I believe (as software engineer I am). WHCMS should make this new SSL monitoring feature fully optional and allowing easy enable/disable settings in the configuration panel or in the configuration.php file in the simplest case. And that is because adding invasive new features must be done with quirurgical precision and always having in mind: maybe some customers does not want what we think they want. No mentioning that evidently the feature was not fully tested before released as stable.

Recommending customer to edit files in your theme is not a smart move, since the new SSL monitoring bug is not only estetical problem, there are some backend processes involved... and also because mostly of your customers are not coders and expect a "working product".

Next time guys you think in adding a new invasive feature, please consider giving us (your customers) the power to enable/disable as will any idea that maybe WHMCS think is good, but ends being a bad idea.

I've been with WHMCS since almost 8 years ago.

Bingo! yes we should be able to choose whether we want this or not.

No change on my end with 7.7.1 and curl works fine on my server returning proper ssl info for all valid certs. But still showing clients they have no ssl! frustrating.

Has anyone figured out a quick solution? do we really need to edit the templates?

 

Link to comment
Share on other sites

  • 1 month later...

Well, I upgraded to latest release and all icons on my customers domains and products are either gray or red. And yes, they have SSL valid certificates.

I would understand them taking months to issue a fix for this if this was a new optional feature but since its not I need to explain all my customers what those red icons are. I just tell them the software we use WHMCS is broken. So not great for WHMCS as a company and I'm just telling the truth. Next time they force a feature on my customers at least they should make sure it passed basic beta testing.

Link to comment
Share on other sites

On 3/13/2019 at 11:47 AM, DennyS said:

Bingo! yes we should be able to choose whether we want this or not.

No change on my end with 7.7.1 and curl works fine on my server returning proper ssl info for all valid certs. But still showing clients they have no ssl! frustrating.

Has anyone figured out a quick solution? do we really need to edit the templates?

 

Quick solution is to remove the icons from the template files.

Link to comment
Share on other sites

On 2/1/2019 at 11:09 AM, agarzon said:

I believe (as software engineer I am). WHCMS should make this new SSL monitoring feature fully optional and allowing easy enable/disable settings in the configuration panel or in the configuration.php file in the simplest case. And that is because adding invasive new features must be done with quirurgical precision and always having in mind: maybe some customers does not want what we think they want. No mentioning that evidently the feature was not fully tested before released as stable.

Recommending customer to edit files in your theme is not a smart move, since the new SSL monitoring bug is not only estetical problem, there are some backend processes involved... and also because mostly of your customers are not coders and expect a "working product".

Next time guys you think in adding a new invasive feature, please consider giving us (your customers) the power to enable/disable as will any idea that maybe WHMCS think is good, but ends being a bad idea.

I've been with WHMCS since almost 8 years ago.

Completely agree. This is not only about visual issues but adding an intensive background server task like this should be optional or at least properly documented before being rolled out. As someone already commented here, the checks are even executed on all the domains disabled (fraud, cancelled, etc.) causing completely unnecessary server usage resources on each scan.

Link to comment
Share on other sites

1 hour ago, yggdrasil said:

This is not only about visual issues but adding an intensive background server task like this should be optional

This^^.
I don't want or need it, and didn't ask for it. Something like this should not be automatically implemented, ever. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated