Я хочу добиться перезаписи URL следующим образом:
https://documentation.domain.com/login
на https://app.domain.com/login
https://api.domain.com/login
на https://app.domain.com/login
любой sudomain с URL {anything}.domain.com/login наhttps://app.domain.com/login
https://app.domain.com/sdks
на https://documentation.domain.com/sdks
(со всеми сохраненными параметрами запроса)
https://api.domain.com/sdks
на https://documentation.domain.com/sdks
(со всеми сохраненными параметрами запроса)
, любой sudomain с URL {anything}.domain.com/sdks наhttps://documentation.domain.com/sdks
https://app.domain.com/restApi
на https://documentation.domain.com/restApi
(со всеми сохраненными параметрами запроса)
https://api.domain.com/restApi
на https://documentation.domain.com/restApi
(со всеми сохраненными параметрами запроса)
, любой sudomain с URL-адресом {anything}.domain.com/restApi наhttps://documentation.domain.com/restApi
Вот что у меня сейчас есть:
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl_certificate /home/company/server/ssl/domain_cloudflare.pem;
ssl_certificate_key /home/company/server/ssl/domain_cloudflare_privatekey.key;
server_name www.*.domain.com *.domain.com;
client_body_buffer_size 32k;
client_header_buffer_size 8k;
large_client_header_buffers 4 16k;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass https://localhost:8443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location /login {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass https://localhost:8443/login;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
return 302 https://app.domain.com/login;
}
location /restApi {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass https://localhost:8443/restApi;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
return 302 https://app.domain.com/restApi;
}
location /sdks {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass https://localhost:8443/sdks;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
return 302 https://app.domain.com/sdks;
}
location /api {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass https://localhost:8443/api;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
return 302 https://api.domain.com/api;
}
}
Cloudflare SSL я установил на Full Strict. Изменение на Fulll/Flexible ничего не меняет. Эта настройка в основном работает. Это работает, но приводит к ERR_TOO_MANY_REDIRECTS Как мне это исправить? Что здесь не так? Пожалуйста, помогите мне с этим
РЕДАКТИРОВАТЬ:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /home/company/domain/ssl/domain_cloudflare.pem;
ssl_certificate_key /home/company/domain/ssl/domain_cloudflare_privatekey.key;
server_name app.domain.com;
client_body_buffer_size 32k;
client_header_buffer_size 8k;
large_client_header_buffers 4 16k;
location / {
proxy_pass https://localhost:8443/login;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
# return 302 https://app.domain.com/login;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /home/company/domain/ssl/domain_cloudflare.pem;
ssl_certificate_key /home/company/domain/ssl/domain_cloudflare_privatekey.key;
server_name documentation.domain.com;
client_body_buffer_size 32k;
client_header_buffer_size 8k;
large_client_header_buffers 4 16k;
location /sdks {
proxy_pass https://localhost:8443/sdks;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
# return 302 https://documentation.domain.com/sdks;
}
location /restApi {
proxy_pass https://localhost:8443/restApi;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
# return 302 https://documentation.domain.com/restApi;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /home/company/domain/ssl/domain_cloudflare.pem;
ssl_certificate_key /home/company/domain/ssl/domain_cloudflare_privatekey.key;
server_name api.domain.com;
client_body_buffer_size 32k;
client_header_buffer_size 8k;
large_client_header_buffers 4 16k;
location /api {
proxy_pass https://localhost:8443/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
# return 302 https://api.domain.com/;
}
}