単一プログラムのポートルーティング/DNS

単一プログラムのポートルーティング/DNS

背景

Flickrはhttp apiを閉じてhttps apiだけを残しました。私のお気に入りのアップローダー(ワインで実行されている公式Flickr Uploadrバージョン2.5)はもはやメンテナンスされていないため、この変更は問題を引き起こします。

現在のソリューションは、リバースプロキシサーバーを設定してDNSを変換しhttp://www.flickr.comて変更し、トラフィックが転送されるようにすることです。https://www.flickr.comwww.flickr.com

これはうまくいきますが、明らかにすべてのflickrトラフィックがプロキシに移動したくないので、アップローダからのトラフィックだけが必要です。

質問

このアプリケーションからwww.flickr.comに向かうトラフィックだけをリバースプロキシに送信できますか?

その他の質問

これを達成するより簡単な方法はありますか?たとえば、http://www.flickr.comプロキシサーバーなしで直接転送する場合です。https://www.flickr.com

解決策

奇妙なことに、アプリ自体にプロキシ設定があるので、私がしなければならないことは、プロキシサーバーを指すように設定することだけでした。また、以下のGilesの答えは、単一のUnixアプリケーションとすべてのWineアプリケーションのプロキシを設定する方法を示しています。

ベストアンサー1

DNSだけでは役に立ちません。クライアントは別のコンピュータを指すことができますが、そのコンピュータはポート80で予想されるFlickrコンテンツを提供する必要があります。

必要なのは、HTTP経由でHTTP要求を受け入れ、HTTPSを使用してそれを再発行するプロキシです。アップローダがこのプロキシを指していることを確認してください。プロキシはクライアントではなくDNS要求を実行するため、DNSを操作する必要はありません。

Apachemod_proxymod_sslはシンプルだが重いが、そのようなプロキシです。今すぐ、既製の軽量ソリューションは思い出されません。 Pythonの修正SimpleHTTPServer別の解決策かもしれません。

Wine アプリケーションがプロキシを指すようにするには、次を参照してください。ワインのよくある質問§7.18「プロキシの設定方法」 2つの解決策があります。

  • 一般的なUnixソリューション:次の環境変数を設定しますhttp_proxy(プロキシがポート8070でリッスンしている場合)。

    export http_proxy=http://localhost:8070/
    wine 'c:/Program Files/Flickr Uploader/Flickr Uploader.exe'
    
  • Wineメソッド:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] ProxyEnableレジストリキーを設定します(構文についてはWine FAQを参照)。

おすすめ記事