Как в Nginx сделать редирект с https на другой домен?
Чтобы настроить редирект с HTTPS на другой домен в Nginx, можно использовать следующую конфигурацию. В этом примере происходит редирект с https://example.com
на https://newdomain.com
.
Пример конфигурации Nginx:
1 2 3 4 5 6 7 8 9 10 11 12 |
server { listen 443 ssl; server_name example.com; # Настройте пути к вашим SSL-сертификатам ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/cert.key; # Редирект на новый домен return 301 https://newdomain.com$request_uri; } |
Объяснение:
listen 443 ssl;
— прослушивание HTTPS трафика.server_name example.com;
— домен для редиректа.return 301 https://newdomain.com$request_uri;
— редирект на новый домен с сохранением пути и параметров запроса.
После внесения изменений перезапустите Nginx:
1 2 |
sudo systemctl restart nginx |
Если у вас нет SSL-сертификатов и вам нужно настроить редирект с HTTPS, Nginx не сможет обслуживать запросы на HTTPS, поскольку он не сможет установить безопасное соединение.
Для решения проблемы можно:
- Настроить редирект на уровне HTTP: настроить сервер на прослушивание порта 80 и делать редирект с
http://example.com
наhttps://newdomain.com
.
123456server {listen 80;server_name example.com;return 301 https://newdomain.com$request_uri;} - Использовать бесплатные сертификаты: например, с помощью Let’s Encrypt, чтобы настроить полноценный HTTPS и редиректить трафик на нужный домен.
Recommended Posts
Плейбук Ansible по развертыванию haproxy
15.02.2024