apache上将IP地址重定向到域名

0 bitnami apache-2.4

我很精通计算机,但不擅长设置网络服务器。我有一个带有 SSL 证书的域名,因此https://example.org可以正常工作,并且http://example.org会重定向到那里。但是,http://[裸 IP 地址] 返回 example.org 的不安全 http 版本(相同内容)。我的目标是将http://[bare IP] 重定向到https://example.org。我相信我们有一个“弹性IP”,即指向某个EC2实例的静态IP。

我正在 Ubuntu 上的 AWS EC2 实例上运行 bitnami wordpress ...“thingy”(实例?服务?不知道正确的术语)。我在 /opt/bitnami/apache2/conf/httpd.conf 中尝试了各种方法来重定向 IP,但都失败了。我不会发布我尝试过的内容,因为它来自随机网页和“巫术”(只需输入此内容并希望),但运气不佳。我宁愿重新开始并以“正确的方式”去做。

我认为必须重新启动 apache 服务才能使 httpd.conf 的更改生效,并且我一直在这样做。我还打开了大量错误日志记录,并且知道日志在哪里,但无法理解它们。

非常感谢“用这些行编辑此文件,重新启动 apache,在 Firefox 中刷新http://[裸IP],地址左侧的红色斜杠锁定现在应该没有斜杠”的明确步骤。

这是我手动添加到 httpd.conf 的唯一内容(以回答评论),并且更改了实际的 Ip 地址和域名:

<VirtualHost *:80>
  RewriteEngine on
  RewriteCond %{REMOTE_ADDR} ^N1\.N2\.N3\.N4$
  RewriteRule ^(.*)$ https://testing.example.org/$1 [R=301,L]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

小智 6

Bitnami 开发者在这里,

/opt/bitnami/apache2/conf/bitnami/bitnami.conf您可以通过将以下配置添加到全新实例中来将 Apache 配置为仅接受对单个域名的请求:

  • 在下面添加以下几行<VirtualHost _default_:80>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]
Run Code Online (Sandbox Code Playgroud)
  • 在下面添加以下几行<VirtualHost _default_:443>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example.com$
RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
RewriteRule ^(.*)$ https://example.com$1 [R=permanent,L]
Run Code Online (Sandbox Code Playgroud)

之后,重新启动 Apache 服务

sudo /opt/bitnami/ctlscript.sh restart apache
Run Code Online (Sandbox Code Playgroud)

请记住替换example.com为您的实际域名。