[Resolved] Site behind reverse proxy and WPML registration
This thread is resolved. Here is a description of the problem and solution.
Problem: You want to configure your WordPress server behind a reverse proxy, changing the URL accessibility for public and internal use. You are concerned about whether translators can work via VPN, if automatic translation will function, and if there are implications for WPML registration and updates. Solution: 1. Translators with VPN access can work as long as the WordPress REST API endpoints are accessible internally. 2. Automatic translation requires public access to specific REST API endpoints via the reverse proxy. 3. Register your WPML site using the reverse proxy URL to ensure WPML can communicate for registration verification, updates, and translation management. 4. Ensure your server can initiate outbound HTTPS connections to
https://wpml.org
,
https://cdn.wpml.org
, and
https://ate.wpml.org
. 5. Check the WPML Installer Support log for connectivity issues by navigating to WPML > Support and reviewing the Installer Log section.
If this solution does not resolve your issue or seems outdated, please check the related known issues and confirm that you have the latest versions of themes and plugins installed. If problems persist, we recommend opening a new support ticket. For further assistance, visit our support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
I want to put my WordPress server behind a reverse proxy, which will rewrite URLs and serve the pages from a different hostname. The original site will continue to operate from its original URL. Administrators and translators will be able to access it from its original hostname via a VPN, but all other traffic originating from the internet to it will be blocked. The WP server will be able to initiate connections to resources on the internet, but not vice versa.
Symptoms:
This ticket is about possible issues an upcoming network configuration may cause.
Questions:
Will translators who have VPN access to the internal network be able to work in this setup?
Will automatic translation work with this setup?
Will this cause any problems with our WPML registration and automatic updates? Or should I change my WPML site registration to the URL of the reverse proxy?
Languages: English (English )German (Deutsch )French (Français )
Timezone: Europe/Zagreb (GMT+02:00)
Hi,
Based on WPML's documentation on REST API dependencies and connectivity to wpml.org, here’s how your configuration might affect things:
1. Will translators who have VPN access to the internal network be able to work in this setup?
Yes, they should be able to work as long as the WordPress REST API endpoints (such as `/wp-json/`) are accessible over the internal network. WPML’s translation tools, including the Advanced Translation Editor, rely on the REST API. So as long as your internal environment allows access to those endpoints, there should be no issue for translators working via VPN.
2. Will automatic translation work with this setup?
Only if WPML’s services (like ATE and the translation engine) can reach your site’s REST API. Since your server will not be directly accessible from the internet, you’ll need to ensure that the reverse proxy makes the necessary endpoints (especially `/wp-json/wpml/v1/*`) available to the public. Otherwise, automatic translation may not work.
3. Will this cause any problems with our WPML registration and automatic updates? Or should I change my WPML site registration to the URL of the reverse proxy?
Yes, it may cause problems if the site is registered with a URL that is not accessible from the internet. WPML must be able to communicate with your site to verify registration, provide updates, manage translation credits, and enable automatic translation. You should register your site using the reverse proxy URL, as that will be the publicly reachable endpoint.
Also, WPML uses outgoing HTTPS requests to communicate with `wpml.org`. Your server needs to be able to initiate outbound connections to:
You can verify connectivity by checking for errors in the WPML Installer Support log. To view it:
- Go to **WPML > Support**.
- Scroll to the **Installer Log** section.
- Look for any errors related to connectivity, failed updates, or REST API issues.
If you see messages like "cURL error", "403 Forbidden", or "Connection timed out", it likely means the reverse proxy or your internal firewall is blocking required communication.
Summary:
- Translators via VPN will be fine if REST API access is allowed internally.
- Automatic translation and registration require that your REST API is accessible from the internet, ideally via the reverse proxy.
- Register WPML using the reverse proxy URL.
- Ensure your server allows outbound HTTPS to key WPML domains.
- Use the WPML Installer Support log to diagnose any communication issues.
Welcome to the WPML support forum. Before passing this thread to my colleague, I would like to share some suggestions and possible solutions for the issues you mentioned.
We hope you will enable REST API in the original website. Because it is mandatory for the working of WPML.
We have to cross-check it because of the custom requirements. So it would be great if you could share more details about your workflow and its environment (hosting). It will help us a lot with our internal communication.
--
Thanks!