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

推薦する

Docker 大規模プロジェクトのコンテナ化変革

仮想化とコンテナ化は、クラウドベースのプロジェクトでは避けられない 2 つの問題です。仮想化は純粋な...

Alibaba Cloud CentOS 7 に MySQL 8.0.13 をインストールする方法

1. MySQL インストール パッケージをダウンロードします(ここにはコツがあります。おそらく、こ...

Ubuntu 18.0.4 MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.20 のインストールおよび設定方法は、参考としてグラフィック チュートリアルにま...

ウェブページのCSSの優先順位について詳しく説明します

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

MySQL テーブルスペースとは何ですか?

今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...

いくつかの一般的な CSS レイアウト (要約)

まとめこの記事では、次の一般的なレイアウトを紹介します。 3 列レイアウトを実装する方法は多数ありま...

CentOS 7 で RPM を使用して mysql5.7.13 をインストールする

0. 環境この記事のオペレーティング システム: CentOS 7.2.1511 x86_64 My...

初心者向けの一般的な Linux システムコマンドの完全なリスト

Linux コマンドの学習は、ほとんどの初心者にとって最大の障害です。今日は、Linux システムで...

マテリアルデザインで水滴アニメーションボタンを実現するための純粋なCSS

序文こういう特殊効果ってよく見かけますよね。すごくかっこいいですよね。 これは、Google Mat...

Linux でファイルの権限 (所有権) を変更する

Linux と Unix はマルチユーザー オペレーティング システムであるため、ファイルの権限と所...

Vue での this.$set の動的データバインディングのケーススタディ

インターネット上の this.$set の説明はわかりにくいと感じます。単一データ、オブジェクト、配...

HTML に FLASH へのリンクを追加し、すべての主要ブラウザと互換性を持たせる方法

まずコードを見てみましょうコードをコピーコードは次のとおりです。 <div style=&qu...

Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法

Node.js環境でテストが通っています。他の言語でも同様です。環境変数を取得する方法を使うだけです...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...