What I want is to forward all requests made for:
www.domain.com/api/whaterver/comes/next to -> api.domain.com/whatever/comes/next
The reason is to avoid browser CORS for www.domain.com requesting to api.domain.com
Probably worth mentioning that nginx is running in a Docker container.
I am trying to accomplish with the location block below, but it fails:
server {
listen 8443 ssl;
server_name domain.com www.domain.com;
index index.php index.html;
root /var/www/base/public;
location ~ ^/api/(.*)$ {
proxy_set_header Host api.domain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass https://api.domain.com/$1;
}
ssl_certificate /etc/nginx/ssl/nginx.cert;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
include /etc/nginx/conf.d/common.conf;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…