web-dev-qa-db-ja.com

Nagiosの問題で80から443に転送

どこが間違っているのかわからないので、おそらく追加の洞察が必要です。私はSSL証明書を使用してnagiosサーバーを保護しました。 SSLを使用するには、nagiosを介したすべてのトラフィック(2人のユーザーなど)を特に要求したいと思います。

だから私は、ああ、mod_rewrite + .htaccessの書き換えルールだと思いましたよね?

そこで、DocumentRootにアクセスして、vi .htaccessを実行し(まだ存在していませんでした)、次のルールを適用しました。

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

これはまったく何もしません。灘します。

Whhhyy ..

注:httpd.confのAllowOverrideallがオンになっています。また、モジュールのコメントが解除されていないことを確認しました...ただし、インストールされているmod_rewriteモジュールが見つからなかったため、別のサーバーからコピーして、modules /mod_rewrite.soに配置しました。 httpd.confファイルで有効になっているので奇妙でしたが、モジュールには存在しませんでした...

私は悪者です:(

4
Ethabelle

これが私のリダイレクト非SSLVirtualHost全体です:

<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>

これは、.htaccessではなくApache構成に属します。

主な違いは、RewriteCond行にあります。ここで、あなたの行は%{SERVER_PORT} 80で、私の行は%{HTTPS} !=onです。

6
bahamat

2つの異なる仮想ホストエントリを設定している場合は、次の操作を行う方がはるかに簡単です。

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

非SSL仮想ホスト。入力されたすべてのURIをカバーすることを心配しないでください。

1
Mike