Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 如何将Amazon EC2机器url重定向到域?_Apache_Amazon Web Services_Amazon Ec2_Host - Fatal编程技术网

Apache 如何将Amazon EC2机器url重定向到域?

Apache 如何将Amazon EC2机器url重定向到域?,apache,amazon-web-services,amazon-ec2,host,Apache,Amazon Web Services,Amazon Ec2,Host,我知道这听起来可能很不传统,因为通常情况下是相反的。但由于一个独特的情况,我面临着这个问题。问题是我想将ec2 xx xx xxx xxx xxx.ap-southest-1.compute.amazonaws.com/xyz(开发url)重定向到(生产url-子域)。另一种方式的配置运行良好。我浏览了apache文档并尝试了一些设置,但没有效果。下面是配置和服务器的详细信息 #ssl setting <VirtualHost *:443> ServerAdmin webmast

我知道这听起来可能很不传统,因为通常情况下是相反的。但由于一个独特的情况,我面临着这个问题。问题是我想将ec2 xx xx xxx xxx xxx.ap-southest-1.compute.amazonaws.com/xyz(开发url)重定向到(生产url-子域)。另一种方式的配置运行良好。我浏览了apache文档并尝试了一些设置,但没有效果。下面是配置和服务器的详细信息

#ssl setting

<VirtualHost *:443>
 ServerAdmin webmaster@example.com
 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 webmaster@localhost
 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>
#ssl设置
服务器管理员webmaster@example.com
服务器名www.xyz.example.com
ServerAlias xyz.example.com
DocumentRoot/www/html/example
斯伦金安
SSLCertificateFile/etc/apache2/ssl cert/example.crt
SSLCertificateKeyFile/etc/apache2/ssl cert/example.key
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
#重定向设置
服务器管理员webmaster@localhost
服务器名ec2-xx-xx-xxx-xxx.ap-southerast-1.compute.amazonaws.com/xyz
重定向永久/https://xyz.example.com/
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
服务器详细信息: Ubuntu 14.04.2 LTS, Apache2

“A”记录设置已完成并正在工作

我在服务器配置方面的知识有限。我做了一些研究,但仍然无法在配置中找出问题所在

请告诉我哪里做错了

致意


Ranjeet Sengar

首先,为什么您使用EC2的公共DNS名称,而不是创建自己的some.example.com,并创建一个弹性IP为EC2的a记录

其次,在上面的配置中,您使用服务器名称作为

www.xyz.example.com which should be xyz.example.com
尝试更改服务器名并重新启动apache

sudo service apache2 restart

首先,为什么您要使用EC2的公共DNS名称,而不是创建自己的some.example.com,并使用EC2的弹性IP创建a记录

其次,在上面的配置中,您使用服务器名称作为

www.xyz.example.com which should be xyz.example.com
尝试更改服务器名并重新启动apache

sudo service apache2 restart

给我们更多的信息。apache日志是什么样子的?如果你做一个
curl-vhttp://ec2-xxxxxxx/xyz
,您得到了什么?谢谢您的回复Nathaniel。如您所问,access.log会显示日期和时间,“GET/xyz”以及200个状态代码和浏览器引擎信息。并且error.log不显示任何错误。另外,当我执行curl-v时,它会给我index.php的html内容。我猜virtualhost配置中缺少一些东西。请提供更多信息。apache日志是什么样子的?如果你做一个
curl-vhttp://ec2-xxxxxxx/xyz
,您得到了什么?谢谢您的回复Nathaniel。如您所问,access.log会显示日期和时间,“GET/xyz”以及200个状态代码和浏览器引擎信息。并且error.log不显示任何错误。另外,当我执行curl-v时,它会给我index.php的html内容。我猜virtualhost配置中缺少了一些东西。你好,Vikash,谢谢你的回答。我尝试更改服务器名称,但问题仍然存在。另外,我已经创建了一些带有EC2弹性IP的记录的.example.com,我只想将EC2的公共DNS名称重定向到我的子域,我知道这是非常非常规的。你好,Vikash,谢谢你的回答。我尝试更改服务器名称,但问题仍然存在。另外,我已经创建了一个带有EC2弹性IP的记录的some.example.com,我只想将EC2的公共DNS名称重定向到我的子域,我知道这是非常不传统的。