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

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

我对计算机很了解,但不懂如何设置网络服务器。我有一个带有 SSL 证书的域名,因此https://example.org作品和http://example.org重定向到那里。但是,http://[裸 IP 地址] 返回 example.org 的不安全 http 版本(相同内容)。我的目标是http://[裸IP]重定向至https://example.org。我相信我们有一个“弹性 IP”,即指向某个 EC2 实例的静态 IP。

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

我了解到必须重新启动 apache 服务才能使对 httpd.conf 的更改生效,我一直都是这么做的。我还打开了重度错误日志记录,并且知道日志在哪里,但无法理解它们的含义。

明确的步骤如下:“用这些行编辑这个文件,重新启动 apache,刷新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>

答案1

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]
  • 在下面添加下几行<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]

之后,使用以下命令重新启动 Apache 服务

sudo /opt/bitnami/ctlscript.sh restart apache

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

相关内容