在重新启动用于wordpress站点的EC2实例上的apache服务器的站点

时间:2018-03-30 05:45:30

标签: wordpress apache amazon-ec2 bitnami

我的目标是ssh进入EC2实例并配置服务器重新路由流量以使用" www"如果它没有输入网址。

我通过ssh连接到该站点并进入bitnami.conf文件:

sudo nano /opt/bitnami/apache2/conf/bitnami/bitnami.conf
在bitnami.conf文件中的

下面的行:

<VirtualHost _default_:80>
  DocumentRoot "/opt/bitnami/apache2/htdocs"

我添加了以下内容:

RewriteEngine On
RewriteCond %{HTTP_HOST} !www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我保存并退出了该文件。然后我使用以下命令重新启动服务器:

sudo /opt/bitnami/ctlscript.sh restart apache

返回的命令:

Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

现在我的网站无法再联系到了。

1 个答案:

答案 0 :(得分:0)

当我尝试对您进行完全相反的操作时(即仅从www.domain.name重定向到domain.name),我得到了非常相似的结果。 Apache error_log文件中显示的Apache错误为:

Certificate and private key localhost:443:0 from /opt/bitnami/apache2/conf/server.crt and /opt/bitnami/apache2/conf/server.key do not match
AH00016: Configuration Failed

我可以使用openssl实用程序验证此不匹配情况。无论如何,只是这两个键的时间戳不是逻辑上排序的。 让我吃惊的是,使用正确的证书CN的初始配置有效!而且我没有碰这些设置的麻烦。好像已经返回到wwW.example.com(从字面上看)的server.crt被覆盖了。 但是...撤消我的更改并不能解决问题。

出现问题时我使用的方法: 根据注释之一中引用的文档,我使用sudo /opt/bitnami/ctlscript.sh restart重新启动Apache。

我的解决方案 我编辑了/opt/bitnami/apache2/conf/bitnami/bitnami.conf,然后停用了指向443端口(包括“监听”行)的VH。我重新启动(实际上是启动的,因为它已经关闭了)Apache2,这次我可以观察到一些线程正在监听端口80。 奇怪的是...尽管似乎没有进程在监听端口443,但我能够请求完美的https://domain.name/!并且已附加了正确的SSL证书。

我的理论是,bitnami可作为超载配置使用:如果被激活,它将取代,否则,将使以上配置获胜。但是我不知道这个“更高级别”的配置实际上在哪里。也许与CloudFront /负载均衡器配置有关? t.b.c。

直到今天,我仍然不知道是什么引起了这样的事实:突然之间,:443配置指向所使用的模拟SSL证书,只是因为我在VH中添加了重定向器,并将其推出...