Как настроить редирект www, http, https между разными доменами
RavilK
nginx-forum at nginx.us
Thu Apr 16 15:52:18 UTC 2015
Добрый день уважаемые формучане!
С nginx, apache ранее не приходилось сталкиваться. Поэтому учту все
замечания)))
Имеетя связка nginx + apache. nginx в качестве проски для апача.
Домен второго уровня site.com
Уже имеются рабочие 2 vhost'а - site.som, web.site.com
Все хосты привязаны к https, ssl сертификат соответственно используется один
на домен *site.com
Запросы с www,http на site.com и web.site.com упешно перенаправлются на
https://site.com и https://web.site.com соответсвенно.
Два хоста site.com b web.site.com ранее были настроены специалистом компаний
интегратора
Все крутится на одном сервере
Несколько дней назад была поставлена задача развернуть новый vhost который
будет именоваться далее - club.site.com
Вот теперь самое интересное:
Руководство купило доменное имя clubsite.com, именно clubsite.com))объяснив
это тем, что, если клиент по ошибке набирает в браузере www.clubsite.com или
просто clubsite.com,
запрос должен быть перенаправлен на https://club.site.com
Я по аналогий рабочих конфигов site.com и web.site com настроил vhost в
апач и nginx.
Для проверки посал запросы в виде www.club.site.com, http://club.site.com ,
редирект на https://club.site.com отработал нормально.
А как настроить такой же редирект с домена clubsite.com в nginx:
www.clubsite.com ----> club.site.com
http://clubsite.com -----> club.site.com
Однако, я заметил одну непонятную вещь, все запросы с домена clubsite.com
уже перенаправляются, только совсем на другой хост:
www.clubsite.kg ---> web.site.com
clubsite.com ---> web.clubsite
Вот конфиг файлы vhost в apache и конфиг файла в nginx -->
1) /apache/sites-available/club.site.conf
<VirtualHost *:8083>
ServerName club.site.com
ServerAlias www.club.site.com
DocumentRoot /var/www/club.site.com/
<Directory "/var/www/club.site.com /">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
RewriteEngine on
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
2) /nginx/sites-enables/club.site.conf
server {
listen 80;
server_name www.club.site.com club.site.com clubsite.com
www.clubsite.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443;
server_name www.club.site.com www.clubsite.com clubsite.com
club.site.com;
ssl on;
ssl_certificate /etc/nginx/ssl/certs/site.com.crt;
ssl_certificate_key /etc/nginx/ssl/private/site.com.key;
location / {
proxy_temp_path /tmp/nginx_proxy/;
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|txt|pdf|zip)$ {
root /var/www/club.site.com/;
}
Теперь сам вопрос господа
Как настроить такое вот перенаправление с www.clubsite.com и
http://clubsite.com на https://club.site.com
Заранее спасибо!
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258108,258108#msg-258108
Подробная информация о списке рассылки nginx-ru