背景
Flickrはhttp apiを閉じてhttps apiだけを残しました。私のお気に入りのアップローダー(ワインで実行されている公式Flickr Uploadrバージョン2.5)はもはやメンテナンスされていないため、この変更は問題を引き起こします。
現在のソリューションは、リバースプロキシサーバーを設定してDNSを変換しhttp://www.flickr.com
て変更し、トラフィックが転送されるようにすることです。https://www.flickr.com
www.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_proxy
とmod_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を参照)。
答え2
ボックスにSSHポート転送を作成し、アップローダがローカルポートを指すようにします。
ssh -L 80:www.flickr.com:443 user@localhost
アップローダlocalhost:80
とポート転送がトラフィックを次に移動することを指定します。www.flickr.com:443