Viewing 15 replies - 1 through 15 (of 20 total)
  • Plugin Author David Aguilera

    (@davilera)

    Hi indental,

    Thanks for getting in touch. This is actually quite strange! By looking at our registers, I can tell that several users started using the free version during the last few days, which means that the API was accessible.

    Since the request can’t access the API, I don’t have any information about the our plugin’s attempts at connecting with the API and I need your help to determine what’s amiss.

    Please, edit the file includes/utils/nelio-content-api-errors.php line 83. You’ll see this:

    function nc_maybe_send_error_json( $response ) {
    
      if ( nc_is_response_valid( $response ) ) {
        return;
      }//end if
    
      if ( is_wp_error( $response ) ) {
        header( 'HTTP/1.1 500 Internal Server Error' );
        wp_send_json( _x( 'Unable to access Nelio Content\'s API.', 'error', 'nelio-content' ) );
      }//end if
    
      // ...

    As you can see, it contains the error message you see in the plugin: “Unable to access Nelio Content’s API.” So, instead of sending this message, let’s change it to something that gives us more information:

    function nc_maybe_send_error_json( $response ) {
    
      if ( nc_is_response_valid( $response ) ) {
        return;
      }//end if
    
      if ( is_wp_error( $response ) ) {
        header( 'HTTP/1.1 500 Internal Server Error' );
        wp_send_json( print_r( $response, true ) );
      }//end if
    
      if ( is_wp_error( $response ) ) {
        header( 'HTTP/1.1 500 Internal Server Error' );
        wp_send_json( _x( 'Unable to access Nelio Content\'s API.', 'error', 'nelio-content' ) );
      }//end if
    
      // ...

    As you can see, we’ve added a new block right after the first if (the one which checks if the response is valid) and the second if (where we checked if the response is_wp_error and sent the error message you saw).

    After this tweak, just try to start the free trial again and let me know what message appears now.

    Thanks for your help and let’s see if we can fix it quickly!

    Regards,
    David

    Thread Starter indental

    (@indental)

    My error message:

    WP_Error Object ( [errors] => Array ( [http_request_failed] => Array ( [0] => error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure ) ) [error_data] => Array ( ) )

    Thread Starter indental

    (@indental)

    By the way, thanks for your help!

    Plugin Author David Aguilera

    (@davilera)

    It looks like there’s an issue with SSL certificates. Our API (which, by the way, is powered by Amazon Web Services) uses https to make all requests secure. For some reason, your server is not accepting the SSL certificate.

    Are you trying to test our plugin on your local computer? Is it a Mac? I’m asking because one of my partners has one and I think he faced the same problem some time ago.

    If you aren’t on a local computer, can you open a request ticket with your hosting provider too? Maybe they’ve already experienced this issue with other third-party services and know how to fix it. In the meantime, I’ll keep looking for a solution.

    Thread Starter indental

    (@indental)

    No, I’m on our regular server (VPS). I do have an SSL cert on our site. Could that have anything to do with it?

    Plugin Author David Aguilera

    (@davilera)

    I don’t think your SSL certificate has anything to do with the issue at hand; we also have one in our own site and the plugin runs smoothly.

    I searched this error message in the support forums of other plugins* and, as it turns out, is a “common” issue. I’m not an expert in this area, but apparently it’s an issue with your server setup (the PHP version you’re using, some of the linked libraries, the setup, and so on). By looking at [1] (linked in the end):

    The problem seems related to your site’s SSL configuration: it does indeed only seems to support the RC4 cipher. WordPress.com is unable to connect to that site because Libcurl/curl dropped RC4 support by default in 7.35 if I’m not mistaken (the default list of supported ciphers is now ALL!EXPORT!EXPORT40!EXPORT56!aNULL!LOW!RC4). You can manually reproduce this problem on command line:

    $ curl -I --ciphers 'ALL!EXPORT!EXPORT40!EXPORT56!aNULL!LOW!RC4' https://tivism.com/
    curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

    So, please, try to open a support ticket with your hosting provider and describe them the issue. Hopefully, they’ll know what to do and fix the issue for you.

    Examples of people facing the same issue:

    1. Jetpack. JetPack Connection – sslv3 handshake failure – Solution Check?
    2. Mailchimp List Subscribe Form. after login – sslv3 alert handshake failure
    Thread Starter indental

    (@indental)

    Thanks! I’m chatting with our host right now. Hopefully they can steer me in the right direction and I can start testing the plugin.

    Thanks again for your help.

    Plugin Author David Aguilera

    (@davilera)

    Thanks for your comprehension; I’m sorry I couldn’t help you myself.

    Please, let us know what they tell you!

    Thread Starter indental

    (@indental)

    My host tweaked our Apache configuration to address the RC4 cipher issue, but we are still unable to connect to the Nelio API. But before we go any further, I want to verify that Nelio can run on php 5.5.38? Does it require 5.6?

    Thanks!

    Plugin Author David Aguilera

    (@davilera)

    Yes, it can run on PHP 5.5.x. In fact, one of our beta testers was running PHP 5.3.3 and the plugin work properly there too.

    But, anyway, if you were to encounter any issue with the PHP version you’re using, just let me know and I’ll look into it.

    Thread Starter indental

    (@indental)

    Our host made several tweaks and we are still unable to connect. According to our host, “the problem has to do with the fact that you are trying to connect to a certain server that only acknowledges requests that are secured by a certain type of encryption.”

    They are wondering if they could get more info on the API so they can identify the type of connection that is required.

    Plugin Author David Aguilera

    (@davilera)

    Hi!

    I’ll have to talk to my partner – he’s the one who implemented the API and, therefore, who better know how it works. Unfortunately, he’s sick right now, so I won’t be able to talk to him until (hopefully) next Monday. I hope you don’t mind the waiting!

    I’ll get back to you as soon as I have an answer and/or more information for you. And thanks for your comprehension!

    Plugin Author Antonio Villegas

    (@avillegasn)

    Hi indental,

    I’m Antonio, one of David’s partners here at Nelio and the responsible of Nelio Content’s API. Your problem may be caused because your server does not provide support for SNI. We’re using Amazon API Gateway to create our API with a custom domain name. Amazon’s documentation indicates that clients making requests to the API must be compatible with SNI (more info here).

    Taking this into account, please check the following to see whether it fixes the issue or not:

    1. Edit the file includes/class-nelio-content.php
    2. Find the statement define( 'NELIO_CONTENT_API_URL', 'https://api.neliocontent.com/v1' ); around line 171.
    3. Change it with define( 'NELIO_CONTENT_API_URL', 'https://qgr7l2qre9.execute-api.eu-west-1.amazonaws.com/v1' );
    4. Try again using the plugin to see if it works

    Please, once you do the previous steps let us know if everything worked or not.

    Again, thanks for your collaboration. We really appreciate it!

    Thread Starter indental

    (@indental)

    Unfortunately, that did not seem to work; receiving the same error message:
    WP_Error Object ( [errors] => Array ( [http_request_failed] => Array ( [0] => error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure ) ) [error_data] => Array ( ) )

    I am open to any other suggestions you might have.

    Thanks!
    Karen

    Plugin Author Antonio Villegas

    (@avillegasn)

    Then probably the only thing you can do is ask your hosting provider to provide SNI support to your SSL calls. That surely will fix the communication issue with our API.

    Talk to them and let us know, please.

Viewing 15 replies - 1 through 15 (of 20 total)
  • The topic ‘Can Not Test Free Version’ is closed to new replies.