Forum Replies Created

Viewing 15 replies - 1 through 15 (of 40 total)
  • Forum: Fixing WordPress
    In reply to: REST API errors
    Thread Starter lucker

    (@lucker)

    Seems like I found a proof, that the cause is in WP.

    The same request but with additional header output shows that WP redirects the request to https://mysite.com/ instead of getting script from localhost:

    
    jexec myjail curl -i -vv localhost/wp-json/wp/v2/plugins
    *   Trying 10.0.0.3:80...
    * Connected to localhost (10.0.0.3) port 80 (#0)
    > GET /wp-json/wp/v2/plugins HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.72.0
    > Accept: */*
    >
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 301 Moved Permanently
    HTTP/1.1 301 Moved Permanently
    < Server: nginx
    Server: nginx
    ...
    < X-Redirect-By: WordPress
    X-Redirect-By: WordPress
    < Location: https://mysite.com/wp-json/wp/v2/plugins
    Location: https://mysite.com/wp-json/wp/v2/plugins
    ...
    < Link: </fonts/lora-v15-latin_cyrillic-700.woff2>; as=font; rel=preload; type=font/woff2; crossorigin
    ...
    * Connection #0 to host localhost left intact
    

    If I made request on the same installation, but for a file outside the WP, it works perfectly. The file contains <?php var_export($_SERVER)?> only.

    
    jexec myjail curl -vv localhost/test-vars.php
    *   Trying 10.0.0.3:80...
    * Connected to localhost (10.0.0.3) port 80 (#0)
    > GET /test-vars.php HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.72.0
    > Accept: */*
    >
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 200 OK
    < Server: nginx
    < Date: Sat, 28 Nov 2020 15:09:51 GMT
    < Content-Type: text/html; charset=UTF-8
    < Transfer-Encoding: chunked
    < Connection: keep-alive
    < Vary: Accept-Encoding
    < Cache-Control: public
    < X-Frame-Options: SAMEORIGIN
    < Strict-Transport-Security: max-age=31536000; preload
    < X-XSS-Protection: 1; mode=block
    < X-Content-Type-Options: nosniff
    < Referrer-Policy: no-referrer-when-downgrade
    < Link: </fonts/lora-v15-latin_cyrillic-700.woff2>; as=font; rel=preload; type=font/woff2; crossorigin
    ...
    < Link: </wp-includes/js/jquery/jquery.js>; as=script; rel=preload; type=text/javascript
    <
    array (
      'HOME' => '/nonexistent',
      'USER' => 'www',
      'HTTP_ACCEPT' => '*/*',
      'HTTP_USER_AGENT' => 'curl/7.72.0',
      'HTTP_HOST' => 'localhost',
      'SCRIPT_FILENAME' => '/home/mysitecom/public_html/test-vars.php',
      'PATH_INFO' => '',
      'REDIRECT_STATUS' => '200',
      'SERVER_NAME' => 'mysite.com',
      'SERVER_PORT' => '80',
      'SERVER_ADDR' => '10.0.0.3',
      'REMOTE_PORT' => '36565',
      'REMOTE_ADDR' => '10.0.0.3',
      'SERVER_SOFTWARE' => 'nginx/1.18.0',
      'GATEWAY_INTERFACE' => 'CGI/1.1',
      'REQUEST_SCHEME' => 'http',
      'SERVER_PROTOCOL' => 'HTTP/1.1',
      'DOCUMENT_ROOT' => '/home/mysitecom/public_html',
      'DOCUMENT_URI' => '/test-vars.php',
      'REQUEST_URI' => '/test-vars.php',
      'SCRIPT_NAME' => '/test-vars.php',
      'CONTENT_LENGTH' => '',
      'CONTENT_TYPE' => '',
      'REQUEST_METHOD' => 'GET',
      'QUERY_STRING' => '',
      'FCGI_ROLE' => 'RESPONDER',
      'PHP_SELF' => '/test-vars.php',
      'REQUEST_TIME_FLOAT' => 1606576191.918095,
      'REQUEST_TIME' => 1606576191,
    * Connection #0 to host localhost left intact
    

    So, the main question for now is why the WP redirects requests to REST API from localhost? From outside it works as expected.

    • This reply was modified 3 years, 12 months ago by lucker.
    Forum: Fixing WordPress
    In reply to: REST API errors
    Thread Starter lucker

    (@lucker)

    Just in case post the configs.

    wp-config.php

    
    <?php
    /** Enable W3 Total Cache */
    define('WP_CACHE', true); // Added by W3 Total Cache
    /* Turn HTTPS 'on' if HTTP_X_FORWARDED_PROTO matches 'https' */
    if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
    	$_SERVER['HTTPS']='on';
    // Code for showing correct client IP address
    if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { 
       $mte_xffaddrs = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ); 
       $_SERVER['REMOTE_ADDR'] = $mte_xffaddrs[0]; 
    }
    
    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);
    
    define('WP_FAIL2BAN_PROXIES','10.0.0.1');
    include __DIR__.'/wp-content/plugins/wp-fail2ban/lib/constants.php';
    define('WP_FAIL2BAN_LOG_SPAM', true);
    define('WP_FAIL2BAN_PLUGIN_LOG_SPAM', true);
    define('WP_FAIL2BAN_BLOCK_USER_ENUMERATION', true);
    define('WP_FAIL2BAN_LOG_PASSWORD_REQUEST', true);
    define('WP_FAIL2BAN_PLUGIN_LOG_XMLRPC', true);
    define('WP_FAIL2BAN_PLUGIN_LOG_REST', true);
    define('WP_FAIL2BAN_LOG_PINGBACKS', true);
    define('WP_FAIL2BAN_COMMENT_LOG', LOG_LOCAL7);
    define('WP_FAIL2BAN_LOG_COMMENTS', true);
    define('WP_FAIL2BAN_COMMENT_EXTRA_LOG', LOG_LOCAL7);
    define('WP_FAIL2BAN_LOG_COMMENTS_EXTRA', WPF2B_EVENT_COMMENT_NOT_FOUND | WPF2B_EVENT_COMMENT_CLOSED | WPF2B_EVENT_COMMENT_TRASH | WPF2B_EVENT_COMMENT_DRAFT | WPF2B_EVENT_COMMENT_PASSWORD);
    
    define('DB_NAME', 'mysite_202010');
    define('DB_USER', 'user');
    define('DB_PASSWORD', 'pAs$woRt');
    define('DB_HOST', '10.0.0.15');
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
    @ini_set( ‘upload_max_size’ , ’10MB’ );
    @ini_set( ‘post_max_size’, ’15MB’);
    
    define('WP_HOME','https://mysite.com');
    define('WP_SITEURL','https://mysite.com');
    
    define( 'WP_REDIS_CLIENT', 'pecl' );
    define( 'WP_REDIS_SCHEME', 'tcp' );
    define( 'WP_REDIS_HOST', '10.0.0.16' );
    define( 'WP_REDIS_PORT', '6379' );
    define( 'WP_REDIS_DATABASE', '0' );
    
    define('AUTH_KEY',         'dfhrdst');
    define('SECURE_AUTH_KEY',  'xtgdfbx');
    define('LOGGED_IN_KEY',    'xbcvbrftgbret');
    define('NONCE_KEY',        'rthergtbgfbd');
    define('AUTH_SALT',        'xcfbgxfthdrt');
    define('SECURE_AUTH_SALT', 'mjutyurtghn');
    define('LOGGED_IN_SALT',   'nyhyujmghn');
    define('NONCE_SALT',       'gfbnrtyghjtry');
    
    $table_prefix  = 'wp_';
    
    define('WPLANG', 'ru_RU');
    define('WP_MEMORY_LIMIT', '128M');
    define( 'AUTOMATIC_UPDATER_DISABLED', true );
    
    define( 'DISALLOW_FILE_EDIT', true );
    define('WP_DEBUG', false);
    
    if ( ! defined( 'ABSPATH' ) ) {
    	define( 'ABSPATH', __DIR__ . '/' );
    }
    
    require_once(ABSPATH . 'wp-settings.php');
    
    if ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) && $_SERVER["REMOTE_ADDR"] == "10.10.0.1")  {     $forwardip = explode(",", $_SERVER['HTTP_X_FORWARDED_FOR']);     $_SERVER['REMOTE_ADDR'] = $forwardip[0];}
    

    nginx-proxy.conf

    
    user                	www;
    worker_processes    	auto;
    worker_rlimit_nofile  	1024;
    pcre_jit            	on;     # Offers a performance boost to regular expression processing
    worker_priority     	10;	
    error_log           	/var/log/nginx/error.nc.log warn;
    events  {
    worker_connections	1024;
    use 			kqueue; # No epoll on FreeBSD
                }
    http    {
    client_body_timeout		5s; # maximum time between packets the client can pause when sending nginx any data
    client_header_timeout		5s; # maximum time the client has to send the entire header to nginx
    #keepalive_timeout		75s; # timeout which a single keep-alive client connection will stay open
    keepalive_timeout     300 300;
    send_timeout			15s; # maximum time between packets nginx is allowed to pause when sending the client data
    
    ## General Options
    aio				on;  # asynchronous file I/O, fast with ZFS, make sure sendfile=off
    charset				utf-8; # adds the line "Content-Type" into response-header, same as "source_charset"
    default_type			application/octet-stream;
    gzip_proxied			any;  # allows compressed responses for any request even from proxies
    gzip_vary               	on;  # send response header "Vary: Accept-Encoding"
    ignore_invalid_headers  	on;
    include                 	mime.types;
    keepalive_disable       	none; # allow all browsers to use keepalive connections
    keepalive_requests      	50;  # number of requests per connection, does not affect SPDY
    max_ranges              	0;   # disabled to stop range header DoS attacks as resumed downloads are denied
    msie_padding            	off;
    output_buffers          	1 512;
    postpone_output         	1460;   # postpone sends to match our machine's MSS
    proxy_headers_hash_bucket_size  128;
    proxy_headers_hash_max_size	1024;
    read_ahead              	512K;   # kernel read head set to the output_buffers
    recursive_error_pages   	on;
    reset_timedout_connection	on;  # reset timed out connections freeing ram
    sendfile                	off;  # on for decent direct disk I/O
    server_tokens           	off; # version number in error pages
    server_name_in_redirect 	off; # if off, nginx will use the requested Host header
    source_charset          	utf-8; # same value as "charset"
    tcp_nodelay             	on; # Nagle buffering algorithm, used for keepalive only
    tcp_nopush              	on; #highly recommend testing your server with this option enabled
    
    ## Log Format
    log_format      	main    '$remote_addr - $remote_user [$time_local] "$request" '
    					'$status $body_bytes_sent "$http_referer" '
    					'"$http_user_agent" "$http_x_forwarded_for"';
    access_log			/var/log/nginx/access.log  main buffer=32k;
    
    proxy_http_version		1.1;
    proxy_connect_timeout      900;
    proxy_send_timeout         900;
    proxy_read_timeout         900;
    proxy_intercept_errors     on;
    proxy_buffering    			off;
    
    set_real_ip_from  10.0.0.1;
    real_ip_header    X-Forwarded-For;
    limit_req_zone  $binary_remote_addr  zone=gulag:10m   rate=1250r/m;
    
    add_header  Cache-Control "public";
    add_header  X-Frame-Options SAMEORIGIN always;
    listen      10.0.0.1:80;
    limit_req   zone=gulag  burst=500 nodelay;
    server_name             mysite.com www.mysite.com;
    
    client_max_body_size 5M;
    
    proxy_cache			off;
    proxy_redirect		off;
    
    location / {
                return 301 https://$host$request_uri;
                }
    }
    
    server  	{
        add_header         Cache-Control "public";
        add_header         X-Frame-Options SAMEORIGIN always;
        limit_req          zone=gulag  burst=500 nodelay;
        listen             10.0.0.1:443 default_server ssl http2 sndbuf=512k reuseport accept_filter=dataready;
        server_name        mysite.com www.mysite.com;
    
    access_log  /var/log/nginx/access.mysitecom.log  main buffer=32k;
    error_log  /var/log/nginx/error.mysitecom.log  warn;
    
    proxy_buffering             off;
    proxy_request_buffering     off;
    proxy_redirect          	off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    
    proxy_set_header        X-Forwarded-Port    $server_port;
    proxy_set_header        X-Forwarded-Proto   $scheme;
    
    ssl_certificate			/usr/local/acme/mysitecom/rsa-certs/fullchain.pem;
    ssl_certificate_key		/usr/local/acme/mysitecom/rsa-certs/privkey.pem;
    ssl_trusted_certificate	/usr/local/acme/mysitecom/rsa-certs/chain.pem;
    ssl_certificate			/usr/local/acme/mysitecom/ecc-certs/fullchain.pem;
    ssl_certificate_key		/usr/local/acme/mysitecom/ecc-certs/privkey.pem;
    ssl_dhparam				/etc/ssl/certs/dhparam.pem;
    ssl_session_timeout			1d;
    ssl_session_cache			shared:le_nginx_SSL:10m;
    ssl_prefer_server_ciphers		off;  # off for TLSv1.3 so clients assumed cipher is used, save one(1) round trip 
    ssl_session_tickets			on;  # off for Perfect Forward Secrecy (PFS)
    ssl_buffer_size				128k;
    ssl_protocols				TLSv1.3 TLSv1.2;
    ssl_ciphers				'TLS-AES-128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384';
    ssl_ecdh_curve				secp521r1:secp384r1;
    ssl_stapling				on;
    resolver 9.9.9.9 8.8.8.8 valid=30s;
    resolver_timeout 5s;
    
        proxy_set_header        Early-Data $ssl_early_data;
    
        location / {
                    proxy_pass          https://10.0.0.3:80;
                    http2_push_preload  on;
                    }
    }
    

    nginx-backend.conf

    
    user                  www;
    worker_processes      auto;
    worker_priority       15;    # renice workers to reduce priority compared to system processes for
                                # machine health. worst case nginx will get ~25% system resources at nice=15
    worker_rlimit_nofile  1024; # maximum number of open files                            
    pcre_jit              on;
    load_module /usr/local/libexec/nginx/ngx_http_naxsi_module.so;
    events {
        use kqueue; # No epoll on FreeBSD
        worker_connections  1024;
    }
    
    http {
    include /usr/local/etc/nginx/naxsi_core.rules;
      client_body_timeout      10s; # maximum time between packets the client can pause when sending nginx any data
      client_header_timeout    10s; # maximum time the client has to send the entire header to nginx
      keepalive_timeout       75s; # timeout which a single keep-alive client connection will stay open
      send_timeout            15s; # maximum time between packets nginx is allowed to pause when sending the client data
    ## General Options
    aio                     on;	# asynchronous file I/O, fast with ZFS, make sure sendfile=off
    charset                 utf-8; # adds the line "Content-Type" into response-header, same as "source_charset"
    default_type            application/octet-stream;
    gzip_static             on;  # precompress content (gzip -1) with an external script
    gzip                    off; # disable on the fly gzip compression due to higher latency, only use gzip_static
    gzip_vary               on;  # send response header "Vary: Accept-Encoding"
    gzip_proxied            any;  # allows compressed responses for any request even from proxies
    include                 gzip_types;
    ignore_invalid_headers  on;
    include                 mime.types;
    keepalive_requests      50;  # number of requests per connection, does not affect SPDY
     keepalive_disable       none; # allow all browsers to use keepalive connections
    max_ranges              1;
    msie_padding            off;
    open_file_cache         max=1000 inactive=30d;
    open_file_cache_errors  on;
    open_file_cache_min_uses 1;
    open_file_cache_valid   1h;
    output_buffers          2 512k;  # 1MB for gigabit/sec outward bandwidth, 1 buffer for static content
    postpone_output         1460;   # postpone sends to match our machine's MSS
    read_ahead              512K;   # kernel read head set to the output_buffers
    recursive_error_pages     on;
    reset_timedout_connection on;  # reset timed out connections freeing ram
    sendfile                  off;  # on for decent direct disk I/O
    server_tokens             off; # version number in error pages
    server_name_in_redirect   off; # if off, nginx will use the requested Host header
    source_charset            utf-8; # same value as "charset"
    tcp_nodelay               on; # Nagle buffering algorithm, used for keepalive only
    tcp_nopush                on; #highly recommend testing your server with this option enabled
    
    set_real_ip_from  10.0.0.1;
    real_ip_header    X-Forwarded-For;
    
    limit_req_zone  $binary_remote_addr  zone=gulag:5m   rate=1000r/m;
    
        log_format				main  '$remote_addr - $remote_user [$time_local] "$request" '
    									'$status $body_bytes_sent "$http_referer" '
    									'"$http_user_agent" "$http_x_forwarded_for"';
    server {
    add_header  Cache-Control "public";
    add_header  X-Frame-Options SAMEORIGIN always;
    limit_req   zone=gulag burst=500 nodelay;
    listen       10.0.0.3:80 sndbuf=512k accept_filter=httpready;
    server_name  mysite.com www.mysite.com;
    
        include snippets/mysitecom-redirection-rewrite;
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|rar|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off; log_not_found off; expires max;
    }
    location ~ \.php$ {
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
    
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        fastcgi_param  REQUEST_SCHEME     $scheme;
        fastcgi_param  HTTPS              $https if_not_empty;
    
        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
    
        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
    
        fastcgi_param  REDIRECT_STATUS    200;
        
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
    
    try_files $fastcgi_script_name =404;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_pass_header Authorization;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    
        fastcgi_pass unix:/var/run/php-fpm.sock;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
        include /home/mysitecom/public_html/w3tc-nginx.conf;
    
    access_log  /var/log/nginx/access.mysitecom.log  main buffer=32k;
    error_log  /var/log/nginx/error.mysitecom.log warn;
    
    root   /home/mysitecom/public_html;
    index index.php index.html index.htm;
    
    add_header Link "</fonts/lora-v15-latin_cyrillic-700.woff2>; as=font; rel=preload; type=font/woff2; crossorigin";
    add_header Link "</wp-includes/js/jquery/jquery.js>; as=script; rel=preload; type=text/javascript";
    
    client_max_body_size    5M;
    
      error_page 404 /404.html;
      error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/local/www/nginx-dist;
    }
      location = /nginx.conf {
      deny all;
      }
    }
    }
    
    Forum: Fixing WordPress
    In reply to: REST API errors
    Thread Starter lucker

    (@lucker)

    @t-p Thank you for the suggestion. Long before I decided to ask for support here I was chasing this ghost for nothing. You might see how misleading this messages are and why I called them ‘non-specific’.

    The loopback works, WP can’t communicate with it. Please take a look at the line < Location: https://mydomain.com/wp-json/wp/v2/plugins – it seems like the WP asks for https

    
    # jexec myjail curl -vv localhost/wp-json/wp/v2/plugins
    *   Trying 10.0.0.3:80...
    * Connected to localhost (10.0.0.3) port 80 (#0)
    > GET /wp-json/wp/v2/plugins HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.72.0
    > Accept: */*
    >
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 301 Moved Permanently
    < Server: nginx
    < Date: Sat, 28 Nov 2020 11:53:02 GMT
    < Content-Type: text/html; charset=UTF-8
    < Transfer-Encoding: chunked
    < Connection: keep-alive
    < Location: https://mydomain.com/wp-json/wp/v2/plugins
    < Last-Modified: Sat, 28 Nov 2020 11:27:02 GMT
    < Expires: Sat, 28 Nov 2020 12:27:02 GMT
    < Pragma: public
    < Cache-Control: max-age=2040, public
    < ETag: "d41d8cd98f00b204e9800998ecf8427e"
    < Cache-Control: public
    < X-Frame-Options: SAMEORIGIN
    < Strict-Transport-Security: max-age=31536000; preload
    < X-XSS-Protection: 1; mode=block
    < X-Content-Type-Options: nosniff
    < Referrer-Policy: no-referrer-when-downgrade
    ...
    * Connection #0 to host localhost left intact
    

    The more curious thing is that the same WP installation on the identical FEMP setup (except the nginx proxy has no server block to redirect http to https) on local virtual machine gives slightly different response. Instead of < Location: https://mydomain.com/wp-json/wp/v2/plugins it has < Link: <https://mydomain.com/wp-json/>; rel="https://api.w.org/" and definitely communicates with REST API since it denied authorisation.

    
     # jexec myjail curl -vv localhost/wp-json/wp/v2/plugins
    *   Trying 10.0.0.3:80...
    * Connected to localhost (10.0.0.3) port 80 (#0)
    > GET /wp-json/wp/v2/plugins HTTP/1.1
    > Host: localhost
    > User-Agent: curl/7.72.0
    > Accept: */*
    >
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 401 Unauthorized
    < Server: nginx
    < Date: Sat, 28 Nov 2020 11:33:58 GMT
    < Content-Type: application/json; charset=UTF-8
    < Transfer-Encoding: chunked
    < Connection: keep-alive
    < X-Robots-Tag: noindex
    < Link: <https://mydomain.com/wp-json/>; rel="https://api.w.org/"
    < X-Content-Type-Options: nosniff
    < Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages, Link
    < Access-Control-Allow-Headers: Authorization, X-WP-Nonce, Content-Disposition, Content-MD5, Content-Type
    < Vary: Origin
    <
    * Connection #0 to host localhost left intact
    {"code":"rest_cannot_view_plugins","message":"\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432\u044b \u043d\u0435 \u0438\u043c\u0435\u0435\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430.","data":{"status":401}}
    

    So, here I have stuck. It’s either the WP mistakenly asks for https from localhost, or the backend nginx somehow passes to the php-fpm protocol and insists on using it.

    Any idea where to dig further?

    • This reply was modified 3 years, 12 months ago by lucker. Reason: Spelling
    Thread Starter lucker

    (@lucker)

    Jens, thank you for quick and detailed response.

    I’m quite aware of svg basics, and do understand that it’s simple (not actually, but…) lines of commands to draw shapes, paths and fonts (not pixels). Additionally, I regularly use svg to create presentations with slides (and edit it in a text editor for custom behavior). And recently even managed to embed it into the html documents. If you curious, you can take a look on the example https://bit.ly/1FcNxNA.

    It’s quite a fidget job to embed the svg presentation into the responsive html. I use the following approach (https://soqr.fr/testsvg/embed-svg-liquid-layout-responsive-web-design.php), and it takes creating and editing css styles for every single svg image in order to make it properly displayed in responsive html. So, when I saw your awesome plugin I thought “It could ease my life!” Alas, it doesn’t. The reason is the subject.

    If your plugin could adjust a width on basis of height (and vice versa) or better, use max-width element as basis, it would be awesome solution. Then everybody (I mean full browser support) could embed images with a typographical text without worries regarding resize of rasterized image. That’s the reason I wrote the topic and still curious if it possible to develop the plugin with such options. I’m with you on resource consuming solution like js etc. It should be lean and fast. But fixed size of vector image makes it mostly kinky yet pointless solution. In most cases it would be done faster and simpler with png or jpg.

    Anyway, thank you for the plugin and the support.

    Thread Starter lucker

    (@lucker)

    Hi Thomas,

    thank you for the detailed answer. It really helps me out to understand a lot of things regarding GTM and your wonderful plugin. I believe many people would be happy to read such information in some FAQ section of the plugin.

    So, basically the plugin create a data layer for GTM and insert it in the wordpress installation. Additionally the plugin fetches some external and internal data (the weather, page title, etc.) and implement it in the data to send to the GTM. So, to make things work I need to create some variables and rules in GTM in order to forward the data from the plugin to GA.

    The question is where I could read the list of variables used in the plugin to match the data exact spelling and casing with variables and rules I should create in GTM? As I understand, you put in the plugin some tailored variables. The workaround could be to tick all settings On and harvest the variables from the page source. But I think might be the other way. Browsing your website, I couldn’t find any list regarding variables you used for the plugin.

    Cheers,
    -Vitaly

    Thread Starter lucker

    (@lucker)

    mbrsolution, thank you a lot for advice! It really works)
    Additionally I had to add mod_rpaf for apache on my VPS, because I have nginx as reversed proxy. After that all works just fine.

    Thread Starter lucker

    (@lucker)

    Have figured out this is the theme smooth scrolling function.
    It could be disabled in the theme by editing a file.

    Thread Starter lucker

    (@lucker)

    As I noticed the file mentioned above is in place after update. Thank you for your support.
    Otherwise, my preferred style is ROUND WHITE. In admin panel preview just fine, but in round_white.css there is a link in line 4 for background color for this style, which turns the style in black. It shouldn’t.
    I deleted link, but after update it’ll appear again. So, please remove the link from the css file in next releases.

    Thank you once again for very nice-looking plugin!

    Any idea how to fix for Cyrillic characters? Saving plugin files with UTF-8 encoding doesn’t help…

    UPD: Changin files encoding to UTF-8 works only till you click save settings… I changed setting (Anchor text for the Homepage, etc) in the file, save it in UTF-8, and upload to plugin folder on the server. Hope I’ll not forgot do NOT touch setting in wordpress.
    Ubfortunately have no idea how to make “Nofollow the link to the home page” enable by file editing.

    Thread Starter lucker

    (@lucker)

    Nothing. As I know the GD Star only one for this purpose which connected with google rich text format. I decided to wait till it get more “friendly” interface and rid off minor bugs like our. Or maybe will be another rating plugin.

    Thread Starter lucker

    (@lucker)

    2 john-michael,
    year, removed plugin from my wordpress installation. Now my website downloading in 0,8 sec by site-perf.com

    Thread Starter lucker

    (@lucker)

    You are right: those are log files. In S3 there is an option to log all uploads etc. But I didn’t expect that it happens so much often… Every log file has a bunch of uploads, hundreds actually. And there are up to ten log files for every our.

    Thread Starter lucker

    (@lucker)

    No, they don’t exist in installation. The closest thing this files are could be is the object cache. But even if it is, I have no idea why are they being generated with every hit or something…

    lucker

    (@lucker)

    +1
    I installed plugin several days ago, but changes in the pages (added new images with URLs) not affected links to uploaded (automatically) to CDN image copies. All new links to new images point to local original website (even the image copies exist on CDN).

    Thread Starter lucker

    (@lucker)

    It’s not working: on the graphics panel I’ve got only 12px and Plain 2.0 checkboxes checked on the Stars tab, 16px and Classical 1.0 PNG on the Thumbs tab. That’s it, nothing more. I rescaned graphics also after I had changed setting on both tabs.

    Could the line I mentioned above be related with indicators? I’ve changed setting in the article stars and thumbs comments (I use only such outfit) and name of the indicator appear (arrows or snake for instance). In the above example the indicator off (“Without animation” chose). Nevertheless the empty .gif is requsted in every page loading…

    It’s really sucks! Pingdom says my page load in 3 sec (on shared hosting with more than 50 plugins!) if exclude this .gif, but this request take about 2 sec to load! I really upset with this issue

Viewing 15 replies - 1 through 15 (of 40 total)