Linux システムで Tomcat のポート 80 を使用する方法

Linux システムで Tomcat のポート 80 を使用する方法

アプリケーションシナリオ

多くの場合、Linux サーバーに tomcat や nginx などのソフトウェアをインストールします。

ポート 80 を使用する場合、root ユーザーとして起動しないとエラーが発生します。

これは、Linux システムの場合、1024 未満のポートは一般ユーザーには利用できないためです。

インターネット上ではこの問題に対する解決策が 2 つあります。1 つはファイルにルート権限を与えることです。

もう一つの方法はポートジャンプです。ポートジャンプの方が安全だと思います。その設定方法に焦点を当てます。

IPテーブル

ここでは主にこのマシンのポート転送を行います。主に設定方法と削除方法についてお話します。

iptables の詳細については、インターネット上の多くの情報を参照できます。

ポートマッピングを追加する

ここで、Linux に tomcat がインストールされていると仮定して、1 つのことを行う必要があります。デフォルトのアクセス ポートは 8080 です。

ここで、ユーザーがポート 80 にアクセスしたときに Tomcat にアクセスできるようにしたいと思います。

ルートユーザーでコマンドを実行するだけです

iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080 


-t nat : 操作するテーブルを指定します。(指定しない場合は、フィルターを意味します。デフォルトはフィルターです)

-A PREROUTING: Aは追加を意味します。PREROUTINGにルールを追加したいことを意味します

--dport 80 : ポート80を要求する場合。

--to-port 8080 : ポート 8080 に移動します。

テストは次のとおりです。


ルールを削除する方法

上記から、nat テーブルの PREROUTING にルールを追加したことがわかります。

したがって、nat テーブルの PREROUTING でこのルールを削除する必要があります。


iptables -t nat -L -nv --行番号

このコマンドの目的は、NAT テーブル内のルールを一覧表示し、番号を指定することです。

次に、この ID を使用してルールを削除できます。

-t nat を記述しない場合、デフォルトの検索はフィルター テーブルになります。その場合、ルールは見つかりません。


このステートメントを使用してルールを削除できます。

-t nat : このテーブルを操作することを意味します。指定しない場合は、フィルターを意味します。

-D: 削除操作を実行することを示します

PREROUTING: NAT テーブル内のチェーンを示します。その後ろの数字 1 は、上図の数字です。


要約する

私は次の実験を行いました。nginx はポート 80 を占有し、tomcat はポート 8080 を占有します。

nginx、tomcatを開く

1. リダイレクトが有効になっていると、ポート 80 にアクセスするとポート 8080 にジャンプするため、nginx にアクセスできません。

2 ポート転送を閉じると、nginx にアクセスできるようになります。

3 上記から、ポート転送によってポートが占有されないことがわかります。

4 ルール アクセスを追加しても目的の効果が得られない場合は、ブラウザ キャッシュをクリアします。

5 上記の操作はすべて再起動後に消えます。操作を維持したい場合は、service iptables restart を実行してください。

さて、今回の記事は以上です。この記事の内容が皆さんの勉強や仕事に少しでも参考になれば幸いです。123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Tomcatのデフォルトポート番号8080を変更する方法
  • Tomcat 起動エラーの処理方法 (ポート 8080 が使用中)
  • Jsp と PHP はポート 80 を共有して Apache と Tomcat を統合します (アクセス時にポート番号を追加する必要はありません)
  • JavaでTomcatのポート80が占有される問題を解決する方法
  • Tomcat マルチドメイン構成の詳細説明 (複数のプロジェクトがポート 80 を共有)
  • Eclipse に Tomcat をデプロイするときにポート 8080 やその他のポートが占有される問題に対する完璧なソリューション
  • 64 ビット Windows 2008 システムで IIS7 と Tomcat7 がポート 80 を共有する問題を解決する方法
  • 複数のTomcatでポート80を共有するnginx設定の詳細な説明
  • Tomcatはポート8080が占有されていることを示しています。グラフィカルなソリューション
  • IIS Tomcat 共有ポート 80 のソリューション

<<:  MySQL 起動エラー InnoDB: ロックできません/ibdata1 エラー

>>:  WeChatミニプログラムでの仮想リストの実装例

推薦する

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

React Fiberの仕組みの詳細な説明

目次React Fiberとは何ですか?なぜReact Fiberなのか? React Fiberは...

数千万データを持つMySQLテーブルを最適化する実践記録

序文まずここで説明させてください。インターネット上では、Alibaba では 500 万のデータを異...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

廃止された Docker は Podman に置き換えられますか?

Kubernetes チームは最近、最新バージョンの Docker でサポートされている機能を廃止...

WeChatミニプログラムページで値を返す4つの解決策のまとめ

目次使用シナリオ解決1. globalDataを使用して実装する2. ローカルキャッシュストレージを...

MySQL初心者はグループ化や集計クエリの煩わしさから解放されます

目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...

HTML のセルパディングとセルスペース属性を図で説明します

セル - 表の内容 セルの余白 (表の余白) (cellpadding) - セルの外側の距離を表し...

要素の読み込み効果を実現するための純粋なHTML+CSS

これは Element UI の読み込みコンポーネントのエフェクトです。かっこいいですね。実装してみ...

jQuery プロジェクトで重複送信を防ぐ方法

新しいプロジェクトでは、axios によって重複した送信を防ぐことができますが、古いプロジェクト (...

HTML でのアンカーポイントの使用_PowerNode Java アカデミー

ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...

docker.service 起動エラーの詳細なトラブルシューティング

エラーを報告するには次のコマンドを実行しますsystemctl dockerを再起動しますエラーメッ...

MySQL 8.0.12 解凍バージョンのインストールチュートリアル

この記事では、MySQL 8.0.12解凍版のインストールチュートリアルを参考までに紹介します。具体...

CSS3 レーダースキャンマップのサンプルコード

CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...

Vue フィルター、ライフサイクル関数、vue-resource の簡単な紹介

1. フィルター例: <!DOCTYPE html> <html lang=&qu...