Nagios 上转发 80 到 443 的问题

Nagios 上转发 80 到 443 的问题

我可能只是需要一些额外的见解,因为我不知道我哪里做错了。我使用 SSL 证书来保护我们的 nagios 服务器。我们希望明确要求所有通过 nagios 的流量(比如 2 个用户,哈哈)都使用 SSL。

所以我想,哦,.htaccess 中的 mod_rewrite + 重写规则,对吗?

因此我进入 DocumentRoot 并执行了 vi .htaccess(尚不存在),然后我输入了以下规则;

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://our.server.org/$1 [R,L]

这根本就没什么用。什么用都没有。

为啥……

注意:httpd.conf 中的 AllowOverride all 已打开。此外,我已验证模块未被取消注释...但请注意,我找不到已安装的 mod_rewrite 模块,因此我从另一台服务器复制了它并将其放在 modules/mod_rewrite.so 中。这很奇怪,因为它在 httpd.conf 文件中已启用,但在模块中却不存在...

我是个坏人 :(

答案1

以下是我的完整重定向非 SSL VirtualHost:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.example.com
  ServerAlias example.com

  RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

  LogLevel warn    
  CustomLog /var/log/apache2/access.log vhost_combined
  ErrorLog /var/log/apache2/error.log
</VirtualHost>

这属于 Apache 配置,而不是.htaccess

主要的区别在于我们的RewriteCond线路,你的是%{SERVER_PORT} 80,我的是%{HTTPS} !=on

答案2

如果您设置了两个不同的 vhost 条目,则执行以下操作会容易得多。

Redirect permanent / https://our.server.org/

在非 SSL 虚拟主机中。不用担心,这将覆盖所有输入的 uri。

相关内容