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

ブログ    

推薦する

JavaScript フレームワーク デザイン パターンの詳細な説明

目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...

Docker で複数のアプリケーション サイトをプロキシするために Nginx を使用する方法

序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...

JavaScript のガベージコレクションの仕組みの詳細な説明

目次ガベージコレクション (GC) はなぜ必要なのでしょうか?ガベージコレクションとは廃棄物の発生ガ...

3列レイアウトを実現するCSS3フレキシブルボックスフレックス

タイトルの通り、高さは既知で、左と右の列の幅は 300 ピクセル、中央は適応型です。弾性ボックス自体...

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...

vuex での Getter の使用法の詳細な説明

序文Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパテ...

Linux システムをバックアップする docker コマンドの詳細な説明

tar バックアップ システム sudo tar cvpzf backup.tgz --exclud...

ウェブページ要素の完全な分析

相対的な長さの単位それら説明: 相対的な長さの単位。現在のオブジェクト内のテキストのフォント サイズ...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

React-Native環境のセットアップと基本的な紹介

環境の準備1. 環境構築React Native 中国語ウェブサイト2. 開発ツール フロントエンド...

Vue 親子コンポーネントの相互値の転送と呼び出し

目次1. 親が子コンポーネントに値を渡す2. 子コンポーネントが親コンポーネントに値を渡す3. 子コ...

Docker を使用して Jenkins をインストールするためのサンプル コード

Dockerコンテナのインストール時に遭遇しやすい2つの問題1.ポートはすでに割り当てられています(...

Docker で MySQL を起動したときに SQL 文を自動的に実行する方法

Docker で MySQL コンテナを作成する場合、コンテナの起動後にデータベースとテーブルが自動...

フォント名に従ってフォントを呼び出すと、ブラウザに必要なフォントが表示されます。

質問 1: ブラウザに必要なフォントを表示するように指示するにはどうすればよいでしょうか? フォント...

Vue3 (III) ウェブサイトホームページレイアウト開発

目次1. はじめに2. 実際の事例1. App.vueを変更する2. レイアウトを調整する3. ジャ...