http://intra.hoge.co.jp:3002 にアクセスすると、見えるのですが、リンクが、http://intra.hoge.co.jp/a.html になっていると
アクセスできません。
http://intra.hoge.co.jp:3002/a.html とするとアクセスできます。
どうするのがいいのでしょうか? foxproxy などを使えばなんとかなるのでしょうか?
localhost の 3002 番PORTに、intra.hoge.co.jp:80を割り当てています。
とありますが、localhost の 80 番ポートに割り当てられないのでしょうか。普通「localhost」でWebサーバを起動する必要があっても、いわゆる127.0.0.1でも80番で待ち受けないといけないことはないと思いますので、「localhost」で起動しているWebサーバの設定を変更して127.0.0.1で待機しないようにすれば、実現できるように思います。
割り当てられない場合、localhost で Apache などの Web サーバが起動していれば、
http://q.hatena.ne.jp/1285132849
での回答例のようにして、URLレベルでリダイレクトすることで対応できないでしょうか。もしくは非常に冗長ですが、さらに1台サーバを立てて、
ダミーサーバのポート80 → 「localhost」と呼んでいるマシンの3002ポート → intra.hoge.co.jp
という経路でアクセスするようにして、ダミーサーバを intra.hoge.co.jp という名前で呼んであげれば実現できるはずです。
あと
「http://intra.hoge.co.jp:3002 にアクセスすると、見えるのですが」と書いてありますが、これは、「localhost:3002」のことではないでしょうか。
は、確かに localhost:3002 でないと質問内容と矛盾しているように感じました。この点も含め、もう少し現在のネットワーク構成ややりたいことを整理して記載された方がよいと思います。
なお、http://intra.hoge.co.jp と入力した際のデフォルトのポートは必ず80になります。そのため、環境設定や制約事項によっては、やりたいことは実現できないかもしれません。
蛇足ですが、uml氏はポイント狙いのようですね…
はい、local の 80ポートを変更したくないのです。普段つかっていますので、intra.hoge.co.jpは、virtualhost なのでこの名前にする必要があります。アクセスするウィンドウズマシンのhostsをlocalhost に書き換えています。
自前でproxyサーバを立てる(FoxProxyはみるかぎりプロキシサーバを切り替えるソフトみたいなんでこの目的には使えないです)とか、
ローカルの80番ポートで動作しているhttpサーバがあるならそれに、リバースプロキシの設定をするとか、割と面倒でかったるい方法しかなさそうです。
firefoxやchromeを前提にできるなら、greasemonkyを入れてリンクなどのURLを相対パスに書き換えるユーザースクリプトを組む方が簡単かも。
勝手につけてくるのでそうもいかないです。