このスレッドは未解決です(解決したらこちらで解決済にしてください)
<<戻る

nginxの認証が効かない このメッセージに返信する
日時: 2021/07/14(Wed) 11:15
名前: はる
URL:
おせわになります。

動画配信サーバーの構築を行い
配信は無事にできたのですが、

動画視聴認証の部分で
http://centossrv.com/nginx-rtmp-auth.shtml
httpsでの視聴も全く問題ないのですが
認証が全く機能していない状態で困っています。

いろいろ確認してみたのですが
○httpsへの自動転送を無効(return 301 https://$host:8443$request_uri;の部分)
○パスワードファイルのパーミッション(ユーザーnginx 644で設定してみました)
○ログファイルの確認(エラー等は見当たりませんでした)
○confファイルのエラー(エラーは出ませんでした)
原因を探れない状態でいます。

nginxのバージョンは1.21.0 です

他に確認・対処する箇所ありますでしょうか

よろしくお願いいたします。
記事編集 編集
Re: nginxの認証が効かない このメッセージに返信する
日時: 2021/07/14(Wed) 19:28
名前: superweibu
URL:
管理人さんにもうしわけないのだが
ここのNginxの設定は不具合が発生するのではと思いました。

server_nameディレクティブがlocalhostだと
サーバー証明書に不具合が発生してブラウザとサーバーの間で接続ができないようにおもいます。

server {
listen 8443 ssl; ← HTTPSポート変更
server_name localhost;

ssl_certificate /etc/letsencrypt/live/centossrv.com/fullchain.pem; ← サーバー証明書と中間証明書
ssl_certificate_key /etc/letsencrypt/live/centossrv.com/privkey.pem; ← 秘密鍵


httpの方でもserver_nameディレクティブが設定していないように思います。
https://centossrv.com/nginx-nginx-rtmp-module.shtml


貴方はどのように設定しているんでしょうか?
また、systemctl nginx statusの結果を張り付けてもらえないでしょうか?

なおこのように基本認証をためしましたが
問題ありませんでした。

server {
# Enable HTTP/2 (optional).
listen 443 ssl http2;
# Enable QUIC and HTTP/3.
listen 443 http3 reuseport;

server_name www.redadmin.org redadmin.org;
ssl_certificate /etc/letsencrypt/live/redadmin.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/redadmin.org/privkey.pem;
resolver 8.8.8.8;
index index.php index.html index.htm index.cgi;
root /home/www.redadmin.org/public_html;

location / {

auth_basic "STREAMING PAGE";
auth_basic_user_file "/home/www.redadmin.org/.htpasswd";
記事編集 編集
Re: nginxの認証が効かない このメッセージに返信する
日時: 2021/07/14(Wed) 20:44
名前: はる
URL:
superweibu様

コメントありがとうございます。

>貴方はどのように設定しているんでしょうか?
>また、systemctl nginx statusの結果を張り付けてもらえないでしょうか?

設定は http://centossrv.com/nginx-rtmp-auth.shtml の内容をそのまま行いました。
statusの結果を貼らせていただきます

nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 水 2021-07-14 11:02:20 JST; 9h ago
Docs: http://nginx.org/en/docs/
Process: 21005 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 30396 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 21012 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)
Process: 21010 ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 21014 (nginx)
CGroup: /system.slice/nginx.service
├─21014 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
├─21015 nginx: worker process
└─21016 nginx: cache manager process

7月 14 11:02:19 [####] systemd[1]: Starting nginx - high performance web server...
7月 14 11:02:19 [####] nginx[21010]: nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
7月 14 11:02:20 [####] nginx[21010]: nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
7月 14 11:02:20 [####] systemd[1]: Started nginx - high performance web server.
記事編集 編集
Re: nginxの認証が効かない このメッセージに返信する
日時: 2021/07/14(Wed) 21:12
名前: superweibu
URL:
nginx statusの結果ありがとうございます。
ここのアクセス制御をよくみたら
satisfyディレクティブを使っており

allow

deny all

基本認証と条件を判定していきます。

そして、貴方は基本認証の検証をプライベートアドレスのローカル環境でやっているのでは?
下記のようにコメントして

#allow 192.168.1.0/24; # 192.168.1.0/24からのみ認証なしでアクセスを許可
#deny all;
auth_basic "STREAMING PAGE";

# nginx -t && systemctl restart nginx
と実行して基本認証ができるか確認してみてください。
記事編集 編集
Re: nginxの認証が効かない このメッセージに返信する
日時: 2021/07/14(Wed) 21:15
名前: はる
URL:
解決しました

confのphpの記述箇所をコメントアウトすると
認証が有効になりました。
お騒がせしてすいません、ありがとうございました!
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -