Troubleshoot server-side components

General troubleshooting advice

  1. Verify that your JavaScript configuration is correct for the relevant TinyMCE plugin.

  2. Ensure that your firewall has the appropriate ports and rules configured correctly. Be sure Docker containers are accessible from the browser via the port specified in the container configuration.

  3. Check the Docker container logs for information using docker logs <container_id>. When making configuration changes, you will need to restart the containers for changes to take effect. Refresh your browser window and try the service again.

Debug server configuration

If a service does not appear to be working, this is generally caused by one of the following reasons. This guide will walk you through the debugging process to identify the specific problem and how to remedy the issue.

  1. The application.conf configuration file is incorrect. Please go back and follow the steps listed in the individual service setup guides:

  2. The configuration is correct, but one of the services is not responding properly. See the section below to debug the services.

  3. The services are working, but the component URLs that the editor uses are not quite right. Refer to the Spell Checker, Image Editing, Enhanced Media Embed and Link Checker plugin pages for help.

  4. The browser is sending a different origin than expected (and configured in application.conf). Refer to step 6 of Using browser tooling to investigate services issues

Browser-specific issues

Chrome specific tips

If the server is not running on a standard HTTP or HTTPS port (80 or 443) then Chrome will include the port in the Origin header that is sent to the server. Other browsers do not do this. If you have set ignore-port to false, then you will need to include the port in the allowed-origins. See Additional Information Around Entering Origins for more details.

Using browser tooling to investigate services issues

  1. Open your browser’s Console/Network tools:

    • Chrome: View menu → Developer → JavaScript Console. Click the Network tab (located between Elements and Sources).

    • Firefox: Tools menu → Web Developer → Network.

    • Safari: Develop → Show Error Console. Click the Timelines link between Resources and Debugger.

  2. Refresh the webpage featuring an TinyMCE configured with the spelling service. Enter a misspelled word into the editor.

  3. Locate the network results that match the following URLs:

    • http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/autocorrect

    • http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/correction

  4. If the network response for these services is 404, try the following:

    • Take the service URL displayed as erroneous (example: http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/autocorrect).

    • Remove everything from the ‘1’ onwards (including the ‘1’) and replace it with /version. (example: Change http://YOUR_SERVER:YOUR_PORT/ephox-spelling/1/correction to http://YOUR_SERVER:YOUT_PORT/ephox-spelling/version). The response code should be 200 and the body should display the version number.

  5. If the response for the version URL is still 404, it means the service has not been started or installed correctly.

  6. To check the "Origin" value that the browser uses, open the network tools (Chrome in this screenshot) and refresh the page. Then enter a couple of words in the editor and select one of the requests on the bottom left ('correction' in the screen shot) and select the 'Headers' section. Look for the 'Origin' header value.

Using browser tools to investigate services issues
The value of the Origin header sent by the browser must match the origin specified in the application.conf for your Docker container configuration. If it does not match, you must update your container configuration to match the browser.

Windows Server specific issues

Sometimes the Origin header is never sent to the services, which results in the editor and services not working as intended. Refer to step 6 of Using browser tooling to investigate services issues and determine what the origin is - if you do not see an Origin header at all, please do the following:

  1. Try accessing the editor web page using your machine’s fully qualified domain name (FQDN) and keep the network tools open so you can see if the Origin header is sent back to the services. For example, if you have been testing on port 8080 on your local machine and the editor is instantiated on a page with path tinymce/index.html, navigate to http://myserver.example.com:8080/tinymce/index.html rather than http://localhost:8080/tinymce/index.html.

  2. If you now see an Origin header being sent across, update your Docker container application.conf to replace all instances of 'localhost' with the domain name of your machine.

  3. Restart the Docker containers.

  4. Reload the browser page and all should work well.

Container Troubleshooting

Debugging Service Issues

If you encounter issues with the containerized services:

  1. Check the container status:

    docker ps
  2. View service logs for errors or warnings:

    docker logs <container-id>
  3. For persistent issues, collect logs for support:

    docker logs <container-id> > service-logs.txt
When contacting support, include the service logs and details about your deployment configuration to help diagnose the issue.

Troubleshooting tools: curl

Installing curl on Mac

curl is installed by default on all macOS installations. Open the "terminal" application to use it.

Installing curl on Linux

Use your distribution package manager to install curl. See your distribution documentation for details.

Installing curl (or equivalent package) on Windows

Download and install the curl package based on your environment:

x86: http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000%2FXP and select either of the curl version: 7.39.0 - SSL enabled SSH enabled packages

Once downloaded:

  1. Unzip the package like so:

    Curl on Windows step 1

  2. Copy the path of the folder to where the 'curl.exe' is in:

    Curl on Windows step 2

  3. Open a cmd prompt. Start → Programs → Accessories → cmd (or command prompt). Then change to that directory to the folder where the 'curl.exe' is found.Enter 'cd' (without quotes) and then paste in the path from step 2.

    Curl on Windows step 3

  4. Once in the folder enter 'curl --version' (without quotes) and ensure you get a valid version

    Curl on Windows step 4

Need more help?

If you are still experiencing problems, please contact Tiny Support.