
NGINX を WAF (Web アプリケーション ファイアウォール) として設定しています。
NGINXリバースプロキシは正常に動作していますhttps://ホスト名/、しかし私はhttps://ホスト名/adminWebmin インターフェースにプロキシされます。
シナリオは次のとおりです: インターネット NET = 0.0.0.0/32 ネットワーク LAN = 6.0.0.0/8 ネットワーク DMZ = 11.0.0.0/8
NET=(ルーター)=LAN=(nginx)=DMZ=(いくつかの仮想マシン) |--->dmz>---|
これまでのところすべて正常に動作していますが、今度は各仮想マシンにWebminを作成し、ホスト名の末尾に/adminを追加してアクセスできるようにしたいと思います。
/etc/nginx/sites-enabled にある設定ファイルの例は次のとおりです。
server {
listen 443 ssl; # managed by Certbot
server_name nas;
location /.well-known {
alias /var/www/nas/.well-known;
}
location / {
proxy_buffers 16 4k;
proxy_buffer_size 2k;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://11.0.0.12:443;
proxy_read_timeout 90;
}
location /admin {
proxy_pass https://11.0.0.12:10000;
}
client_max_body_size 10G;
ssl_certificate /etc/letsencrypt/live/nas/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nas/privkey.pem;
}
server {
listen 80;
server_name nas;
return 301 https://$host$request_uri;
}
何が間違っているのでしょうか?
答え1
画像/スタイルが失われる問題について:
Webmin インターフェースは、おそらく相対パスと絶対パスを組み合わせて使用します。そのため、画像を取得できません。サブモジュールが必要です:--with-http_sub_module
次のようなものが役に立つかもしれません:
location /admin {
sub_filter 'https://11.0.0.12:10000/' '/';
sub_filter_once off;
proxy_pass https://11.0.0.12:10000;
}
リダイレクトの問題については、これが役立つ可能性があります:
proxy_redirect https://11.0.0.12:10000/ /;
または
proxy_redirect / /admin/;
答え2
これを試して:
location /admin/ {
rewrite ^/admin/?(.*)$ /$1 break;
proxy_pass https://11.0.0.12:10000;
}
答え3
追加のモジュールは必要ありません。いくつかの webmin 設定が必要です。
sudo nano /etc/nginx/sites-available/FQDN.conf
location /admin/ {
# proxy_buffering off;
proxy_pass http://127.0.0.1:10000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_redirect http://$host:10000/ http://$host/admin/;
}
保存して閉じます。
sudo nginx -t
sudo systemctl reload nginx
Webmin設定を更新する
sudo nano /etc/webmin/config
EOFに追加
relative_redir=0
referers=www.FQDN.com FQDN.com
webprefix=/admin
webprefixnoredir=1
保存して閉じます。
ミニサーブを更新します
sudo nano /etc/webmin/miniserv.conf
変更ssl=1
> ssl=0
(これは、nginx が最初に SSL を処理する必要があるためです)
EOFに追加
ssl_redirect=0
コマンドを実行:
sudo systemctl restart webmin
FQDN.com/adminにアクセスするか、管理者