ホスト名を*および*ポートを/ etc / hostsにマッピングできますか?[閉まっている]


189

などのIPアドレス127.0.0.1をドメイン名ポートにマッピングできますか?

たとえば、私はにマップ127.0.0.1したいと思いますapi.example.com:8000


6
/ etc / hostsにポート番号をマップすることはできません。代わりに次のように定義127.0.0.1 api.mydomain.comし、ブラウザでアクセスできますapi.mydomain.com:8080
Fizer Khan

私はどこかでDNSがこれをサポートすることを読みました。www.example.comでhttpがポート80にあることを示すレコードと、アドレスが127.0.0.1であることを示すAレコードを含めることもできます。その後はあまり言いませんでした。
ctrl-alt-delor 2014

回答:


184

いいえ、それは不可能です。ポートはホスト名の一部ではないため、hosts-file では意味がありません。


134

本当にこれを行う必要がある場合は、リバースプロキシを使用します。

たとえば、nginxをリバースプロキシとして使用する

server {
  listen       api.mydomain.com:80;
  server_name  api.mydomain.com;
  location / {
    proxy_pass http://127.0.0.1:8000;
  }
}

4
proxy_passの行は次のようになるはずです。nginx1.4.3でproxy_pass http://127.0.0.1:8000;「無効なURLプレフィックス」が表示されました。
Nobu

この素晴らしいヒントをありがとう!ほとんどのサーバーのシンプルなソリューション。
micahscopes 2016

このトリックを使用して、リモートマシンのポートをマッピングしています(たとえば、実際のポートは8080ですが、cloud.app80)。クラスターのConfluenceノードのテストに非常に役立ちますが、同じベースURLでアクセスします。ありがとう!
ガーボルナジ

9
基本的に同じ問題がありましたが、このリバースプロキシを使用した解決策は本当に役に立ちます。:私はこのツールを作ったので、私はいくつかの簡単なソリューションを求めていました、が、github.com/cristianoliveira/ergo 私はそれを何とかで助けを願っています:)
クリスティアン・オリベイラ

@CristianOliveiraに感謝します!これは私に
多くの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.