質問編集履歴

1

情報を追記

2021/07/28 13:18

投稿

Yukika
Yukika

スコア3

test CHANGED
@@ -1 +1 @@
1
- Djangoの管理画面にnginx側の設定でBasic認証をつけることは可能なのでしょうか。
1
+ Djangoの管理画面にnginx側の設定でBasic認証、もしくはIPアドレスによるアクセス制限をつけることは可能なのでしょうか。
test CHANGED
@@ -12,6 +12,10 @@
12
12
 
13
13
 
14
14
 
15
+ もしくは
16
+
17
+
18
+
15
19
  location ~*/admin { Basic認証の設定 }
16
20
 
17
21
  ```
@@ -20,13 +24,103 @@
20
24
 
21
25
  のように書いてみましたが、動きませんでした。
22
26
 
27
+
28
+
29
+ ※全体の設定(confファイル)は下記になっています
30
+
31
+ ```ここに言語を入力
32
+
33
+ server {
34
+
35
+ listen 80;
36
+
37
+ listen [::]:80;
38
+
39
+ server_name ドメイン名;
40
+
41
+ return 301 https://$host$request_uri;
42
+
43
+ }
44
+
45
+
46
+
47
+
48
+
49
+ server {
50
+
51
+ listen 443 ssl;
52
+
53
+ server_name ドメイン名;
54
+
55
+
56
+
57
+ #ssl on;
58
+
59
+ ssl_certificate (SSL設定);
60
+
61
+ ssl_certificate_key (SSL設定);
62
+
63
+
64
+
65
+ location /static {
66
+
67
+ alias /usr/share/nginx/html/static;
68
+
69
+ }
70
+
71
+
72
+
73
+ location /media {
74
+
75
+ alias /usr/share/nginx/html/media;
76
+
77
+ }
78
+
79
+
80
+
81
+ location / {
82
+
23
- (※proxy_pass http://127.0.0.1:8000; も書いています)
83
+ proxy_pass http://127.0.0.1:8000;
84
+
85
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
86
+
87
+ proxy_set_header Host $http_host;
88
+
89
+ proxy_redirect off;
90
+
91
+ proxy_set_header X-Forwarded-Proto $scheme;
92
+
93
+ }
94
+
95
+
96
+
97
+   location ~*/admin {
98
+
99
+ proxy_pass http://127.0.0.1:8000;
100
+
101
+      auth_basic "auth basic";
102
+
103
+ auth_basic_user_file (httpasswdの場所);
104
+
105
+   }
106
+
107
+ }
108
+
109
+ ```
110
+
111
+
24
112
 
25
113
 
26
114
 
27
115
  adminは実在するディレクトリではなかったり、Djangoの仕様(?)でつけることができないのでしょうか。
28
116
 
117
+
118
+
29
- もしBasic認証をつけることができる書き方がありましたら、教えていただけましたら幸いです。
119
+ もし、実在しないディレクトリに対してBasic認証、もしくはIPアドレス制限をつけることができる書き方(正規表現)がありましたら、教えていただけましたら幸いです。
120
+
121
+ (IPアドレスの方は、adminディレクトリを指定できればBasic認証の部分をIPアドレス制限の書き方に変更
122
+
123
+ すればできないかと思っています)
30
124
 
31
125
 
32
126