新月の開発

開発

49ac2ba9 anonymous 2025-03-09 12:55 [Res.]
>>9e3b7d7a
5.4.0 では
ValueError: 'unknown' does not appear to be an IPv4 or IPv6 address
となります。
address.py の82行で
if config.use_x_forwarded_for and 'HTTP_X_FORWARDED_FOR' in env and env['HTTP_X_FORWARDED_FOR'] != "unknown" :
としてみました。
3a478761 anonymous 2025-03-09 13:20 [Res.]
>>49ac2ba9
HTTP_X_FORWARDED_FOR に "unknown" と入るのはどういう環境でしょうか?
b8b46ba4 anonymous 2025-03-09 14:26 [Res.]
WireGuardでVPNを作り、VPSの上のApacheでProxyPassして、宅内のPCのVMWareの上のLinuxで動いてるsakuへ繋いでます。
そして、PCのブラウザでsakuへアクセスしたときに起きる現象です。
1cd23183 anonymous 2025-03-09 15:41 [Res.]
>>b8b46ba4
PC→Apache→WireGuard→VMWare→saku
ということでしょうか?
e52eba4c anonymous 2025-03-09 21:55 [Res.]
>>1cd23183
インターネットからアクセスできるのはVPSだけなので、VPSにApacheとWireGuardのサーバーを置いています。
9791be9a anonymous 2025-03-10 15:59 [Res.]
>>e52eba4c
>>9e3b7d7a とは同じ人ですか?
もしそうなら「内部からのアクセス」というのはどういうことですか?
「内部からのアクセス」と「PCのブラウザでsakuへアクセス」は別のことを指していますか?
後者は「PC→Apache→WireGuard→VMWare→saku」という理解で本当に合ってますか?
VMWareは具体的にはどの製品ですか? (VMware Workstation Pro とか VMware NSX とか)
d95e9fe2 anonymous 2025-03-11 12:47 [Res.]
https://qiita.com/naka_kyon/items/8532cea02675180cb878

> unknown: 先行するエンティティが不明な場合 (およびリクエストの転送が行われたことを示したい場合)

知りませんでした。
c0cc279a anonymous 2025-03-11 13:23 [Res.]
>>d95e9fe2
ForwardedヘッダーはRFCの日付を見たら10年前に定義されてるけど使われてるところ見たことない…
Apacheも設定してくれない。少なくともデフォルトでは設定しないし、ドキュメントを読んだ範囲でもオプションがなさそう。
47662f4a anonymous 2025-03-11 22:41 [Res.]
現段階での情報を元に考えているのですが

Apacheから見てクライアントのIPアドレスがわからないことがあるか→ないと思う
Apacheが特定の条件でunknownと設定するか→一般的にはなさそう
ApacheにX-Forwarded-For:unknownでアクセスするとどうか→普通はApacheから見たクライアントのIPアドレスが追加される
VPNがヘッダーを書き換えるか→一般的にはない
仮想マシンがヘッダーを書き換えるか→一般的にはない
VMWareでありそうなのは→VMWareの名前を冠するロードバランサーやNATがあるらしい
X-Forwarded-For:unknownのときにクライアントのIPアドレスを使うのは妥当か→一般的にはIPアドレスがわからないのとlocalhostやプライベートネットワークにあるかもしれないリバースプロキシのIPアドレスを同一視することはできない

というわけでなぜunknownになるのかも、その時にクライアントのIPアドレスを代用していいかもわかりません。
5b7c0247 anonymous 2025-03-12 09:37 [Res.]
-外部
--VPS
---Apache,WireGuardサーバー

-内部
--PC
---ブラウザ
---VMware Workstation
----WireGuardクライアント,saku

Apacheでは

Listen 8000
<VirtualHost *:8000>
  ProxyRequests Off
  ProxyAddHeaders On
  ProxyPass  / http://Wireguardクライアントのポートへ/
</VirtualHost>

のような設定をしています。
まー、おま環ということで。
2ed681af anonymous 2025-03-12 12:01 [Res.]
>>5b7c0247
謎ですねえ…
e7d8020b anonymous 2025-03-15 05:57 [Res.]
>>5b7c0247
"unknown"と言われるなら設定すればいいじゃない、ということでproxyを通してヘッダーを設定しました。

---VMware Workstation
----nginx
----WireGuardクライアント,saku
2fe24976 anonymous 2025-03-16 23:59 [Res.]
>>e7d8020b
APIのPINGを叩いたときに、正しく接続元のIPアドレスが返ってきますか?
であれば問題ないのですが。

うちの環境では、X-Forwarded-For を使わないと以下のような挙動になります。
> use_x_forwarded_for: yes の場合
% curl -4 http://saku.loneb.net:8000/server.cgi/ping
PONG
123.224.60.65 <-- curlを叩いている端末のアドレス

> use_x_forwarded_for: no の場合
% curl -4 http://saku.loneb.net:8000/server.cgi/ping
PONG
::1  <-- reverse proxyのアドレス(loopbackへ転送しているので)

## 参考
新月プロトコル 0.8 ドラフト#1
https://shingetsu.info/protocol/protocol-0.8.d1#communication
> /ping
>ノードは「PONG\n相手ノードのIPアドレス」を返す。

c4b18a3f anonymous 2025-03-17 04:57 [Res.]
server.cgi/join/:8080+server.cgi
のipが壊れるとか
e39c3b05 anonymous 2025-03-17 13:14 [Res.]
>>2fe24976
PONGも確認して
隣接ノードも表示されました。
大丈夫でしょう。
5fa345c3 anonymous 2025-03-26 18:07 [Res.]
v5.5.1 にしました。
d73a71e3 anonymous 2025-03-29 07:07 [Res.]
"unknown"の件、squidが原因でした。
squid.confより
 #  TAG: forwarded_for   on|off|transparent|truncate|delete
 #       If set to "off", it will appear as
 #               X-Forwarded-For: unknown
0eecb77b anonymous 2025-03-30 03:24 1743305084.png (1144KB) [Res.]
ChatGPTが新月のロゴを考えてくれたよ!
139012f0 anonymous 2025-03-30 06:24 [Res.]
>>0eecb77b
ライセンスどうするの…
aba8bedd anonymous 2025-04-03 04:04 [Res.]
>>139012f0
これ緑地にすればイスラムっぽいな
黒でもイスラム国とかでいけるかも

うっかり、アッラーの他に神はなしとか呟いてしまいそう

Top of this page. | 0 1 2 3 old>>


      
    
limit: 1536KB
Amazonのアソシエイトとして、新月サンプルゲートウェイは適格販売により収入を得ています。

開発

(新月の開発/63/1.5MB)

Powered by shinGETsu.