AWS架构部署WordPress及React Native对接WP-API方案咨询
Hey there! Great question—let's break this down clearly so you can decide what makes sense for your setup.
First off: you’re probably overcomplicating things for most basic use cases. Let’s start with the simplest approach, then cover when you’d actually need API Gateway.
直接调用WP-API(大多数场景首选)
If your WordPress instance on EC2 is publicly accessible (you’ve assigned an Elastic IP, opened port 80/443 in your security group, and WordPress is configured correctly), your React Native app can call the WP-API directly without any extra AWS services.
Here’s what you need to check:
- WP REST API is enabled: By default, WordPress enables the REST API (paths like
https://your-wp-domain.com/wp-json/wp/v2/postswork out of the box). If you’ve installed a security plugin that might disable it, double-check that access isn’t restricted. - CORS configuration: Since your React Native app is making cross-origin requests (mobile app → public WordPress site), you’ll need to set up CORS headers on WordPress. You can do this easily with a plugin like WP CORS, or add custom code to your theme’s
functions.php:add_action('rest_api_init', function () { remove_filter('rest_pre_serve_request', 'rest_send_cors_headers'); add_filter('rest_pre_serve_request', function ($value) { header('Access-Control-Allow-Origin: *'); // Restrict this to your app's domain if possible header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS'); header('Access-Control-Allow-Headers: Content-Type'); return $value; }); }); - Security best practices: If you’re only fetching public data, direct calls are fine. For authenticated requests (like submitting comments), use WordPress’s built-in JWT or OAuth2 plugins instead of adding extra layers unless you need them.
当你确实需要Amazon API Gateway的时候
There are specific scenarios where adding API Gateway as a proxy makes sense:
- Enhanced security: If you want to add API key validation, rate limiting (to prevent abuse), or OAuth2 authorization without modifying WordPress directly, API Gateway handles these out of the box.
- Response transformation: If you need to reshape WP-API’s JSON response to fit your React Native app’s data structure (e.g., renaming fields, filtering unnecessary data), API Gateway’s mapping templates can do this without writing code in WordPress.
- Private WordPress instance: If your EC2 WordPress is in a private VPC (no public IP), API Gateway can act as a public entry point, using a VPC link to route requests to your internal WP instance—keeping your WordPress server isolated from the public internet.
- Centralized monitoring: API Gateway provides built-in CloudWatch logs and metrics, making it easier to track request success rates, latency, and errors from your React Native app, compared to parsing WordPress logs.
Final Verdict
Start with the direct WP-API call—it’s simpler, faster to implement, and sufficient for most React Native apps that just need to fetch WordPress content. Only introduce API Gateway if you have one of the specific advanced needs listed above.
内容的提问来源于stack exchange,提问作者Wasem Dawood

