2016-01-24 6 views
0

Я знаю, что это может показаться нетрадиционным, так как обычно это наоборот. Но из-за уникальной ситуации я столкнулся с этой проблемой. Проблема в том, что я хочу перенаправить ec2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com/xyz (код разработки) до https://xyz.example.com (производственный URL-адрес - поддомен) , Конфигурация для другого способа работает хорошо. Я прошел через документы apache и попробовал некоторые настройки, но это не вступает в силу. Ниже приведены данные конфигурации и сервера.Как перенаправить URL-адрес Amazon EC2 в домен?

#ssl setting 

<VirtualHost *:443> 
ServerAdmin [email protected] 
ServerName www.xyz.example.com 
ServerAlias xyz.example.com 
DocumentRoot /www/html/example 
SSLEngine on 
SSLCertificateFile /etc/apache2/ssl-cert/example.crt 
SSLCertificateKeyFile /etc/apache2/ssl-cert/example.key 
ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

#redirection setting 

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName ec2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com/xyz 
Redirect permanent/https://xyz.example.com/ 
ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

детали сервера: Ubuntu 14.04.2 LTS, Apache2

'A' Настройка записи уже сделано и работает.

У меня ограниченное знание конфигурации сервера. Я сделал некоторые исследования, но до сих пор не могу понять проблему в конфиге.

Прошу совета, где я делаю неправильно.

С наилучшими пожеланиями

Ranjeet Sengar

+0

Дайте нам дополнительную информацию. Как выглядят журналы apache? Если вы делаете 'curl -v http: // ec2-xxxxxxx/xyz', что вы получаете? –

+0

Спасибо за ваш ответ Натаниэль. Как вы сказали, access.log показывает дату и время «GET/xyz» с 200 кодом состояния и информацией обозревателя браузера. И error.log не показывает никаких ошибок. Также, когда я делаю ** curl -v http: // ec2-xxx/xyz **, он дает мне содержимое html index.php. Я предполагаю, что в конфигурации virtualhost есть что-то, чего я не вижу. – sengar19

ответ

2

Прежде всего, почему вы используете Public DNS-имя из EC2 вместо того, чтобы создать свой собственный some.example.com и создает запись с эластичным IP из EC2

во-вторых, в приведенном выше конфигурации, вы используете имя сервера

www.xyz.example.com which should be xyz.example.com 

Попробуйте изменить ServerName и перезапустить Apache.

sudo service apache2 restart 
+0

Здравствуйте, Vikash, спасибо за ответ. Я попытался изменить имя сервера, но проблема там. Также я уже создал ** some.example.com ** с надлежащей записью A с Elastic IP EC2, я просто хочу, чтобы публичное DNS-имя EC2 перенаправлялось на мой поддомен, который, как я знаю, очень нетрадиционен. – sengar19