質問編集履歴
3
間違ってWSL1とか書いていたので修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
なお、素のTCP通信において解決したいので、`X-Forwarded-For`HTTPヘッダ等のアプリケーション層の対応は利用できません。
|
6
6
|
|
7
|
-
また、Docker Desktop&WSL2の利用前提に限った解決策を探しているので、それを迂回する方法(
|
7
|
+
また、Docker Desktop&WSL2の利用前提に限った解決策を探しているので、それを迂回する方法(素のWSL2やVMを使うなど)の提示は必要ありません。
|
8
8
|
|
9
9
|
### 発生している問題
|
10
10
|
|
2
タイトルと本文の余分な部分を削除
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Docker Desktop(WSL2
|
1
|
+
Docker Desktop(WSL2)でアクセス元のIPを取得したい
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
Windows10
|
3
|
+
Windows10のDocker Desktop(WSL2バックエンド)で稼働しているコンテナに対して、外部PCからTCPでアクセスした際にアクセス元PCのIPが取得したい。
|
4
4
|
|
5
5
|
なお、素のTCP通信において解決したいので、`X-Forwarded-For`HTTPヘッダ等のアプリケーション層の対応は利用できません。
|
6
6
|
|
1
待ち受けIPとアクセス元IPが同一になっていたので修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,16 +17,16 @@
|
|
17
17
|
```
|
18
18
|
|
19
19
|
このPCに外部からアクセスできるIPは`172.16.240.201`なので、
|
20
|
-
他のPCでブラウザから`http://172.16.240.201:8081/`を叩くと、nginxのアクセスログは以下のようになりました。
|
20
|
+
他のPC(IPが`172.16.240.200`)でブラウザから`http://172.16.240.201:8081/`を叩くと、nginxのアクセスログは以下のようになりました。
|
21
21
|
|
22
22
|
```
|
23
23
|
172.16.200.1 - - [27/Aug/2021:03:25:45 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36" "-"
|
24
24
|
```
|
25
25
|
|
26
26
|
nginxデフォルトのログフォーマットにおいて、頭に入っている数字は`$remote_addr`変数であり、ネットワーク層におけるアクセス元のIPアドレスを表しています。
|
27
|
-
本来アクセス元PCのIPは`172.16.240.
|
27
|
+
本来アクセス元PCのIPは`172.16.240.200`なのですが、仮想スイッチ内のネットワークIPと思われる`172.16.200.1`を取得してしまっていることがわかります。
|
28
28
|
|
29
|
-
つまりこの例としては`$remote_addr`に`172.16.240.
|
29
|
+
つまりこの例としては`$remote_addr`に`172.16.240.200`が入ってきてくれるようにしたいと思っています。
|
30
30
|
|
31
31
|
### 試したこと
|
32
32
|
|