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ミニプログラムでの仮想リストの実装例

推薦する

React 並行関数エクスペリエンス (フロントエンド並行モード)

React は、開発者が Web およびモバイルベースのアプリケーションを作成するために使用するオ...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

...

クリエイティブな会社概要ウェブページデザイン

ユニークな「About」ページ自分を他の人たちと差別化する素晴らしい方法は、本当にユニークな自己紹介...

複雑なSQLクエリを含むMySQLの一般的なSQL文の概要

1. 複雑なSQLクエリ1.1. 単一テーブルクエリ(1)指定の列を選択する[例] 全生徒の生徒ID...

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

Vue3の組み込みコンポーネントであるTeleportの使い方を詳しく説明します

目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...

Linux システムで grub.cfg ファイルの破損を修復する手順

目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...

Linux ディスクデバイスと LVM 管理コマンドの詳細な例

序文Linux オペレーティング システムでは、デバイス ファイルは特別なタイプのファイルです。これ...

Linux環境でログファイルを表示するコマンドの詳細な説明

目次序文1. catコマンド: 2. moreコマンド: 3. lessコマンド: 4. headコ...

MySQL データベースの基礎 SQL ウィンドウ関数の例の分析チュートリアル

目次導入導入集計関数 + over()ソート関数 + over() ntile() 関数 + ove...

Tomcat でタイムアウトしたセッションを監視および削除する方法

序文偶然、30 分の Tomcat セッション時間は、セッションが作成された後、30 分間のみ有効で...

MySQL データ圧縮パフォーマンス比較の詳細

目次1. テスト環境1.1 ハードウェアとソフトウェア1.2 テーブル構造2. テストの目的2.1 ...