Nginx での Frp による https への強制リダイレクト設定の詳細な説明

Nginx での Frp による https への強制リダイレクト設定の詳細な説明

自宅のルーターが300Mの帯域幅を80Mに強制的に減らしたため、3205Uソフトルーターを購入しました。期待を裏切らない、速度がとても速かったですO(∩_∩)Oハハハ〜もちろん、ブロードバンドにはパブリックIPがないので、DDNSは使用できず、代わりにfrpを使用しました。その過程でいくつかの落とし穴に遭遇したので、それを記録して、困っている学生の助けになればと思います。

frps.ini (サーバー構成)

[一般]
バインドポート = 5443
kcp_bind_port = 5443

vhost_http_port = 8080
vhost_https_ポート = 4443

# Frp サーバー インジケータ パネル構成 admin_addr = frp.test.com
ダッシュボードポート = 6443
ダッシュボードユーザー = テスト
dashboard_pwd = テスト

ログファイル = ./frps.log

# トレース、デバッグ、情報、警告、エラー
ログレベル = 情報

ログ最大日数 = 3

# 認証トークンはいくつかの文字列を独立して生成できます token = sfsfgsdgsdgsgddgsg

tcp_mux = 真

最大プール数 = 50

# ユーザー定義ドメイン名 subdomain_host = frp.test.com

frpc.ini (クライアント設定)

[一般]
# リモートサーバーのIPアドレス server_addr = 8.8.8.8
サーバーポート = 5443
トークン = sfsfgsdgsdgsgddgsg
tls_enable = 有効

[リード]
タイプ = http
ローカルIP = 10.10.10.1
ローカルポート = 80
# ここでの値は最終的に lede.frp.test.com に解決されます (ドメイン名サーバーで独自のパブリック サーバーを指す *.frp.test.com のドメイン名のパン解決を行う必要があります)
サブドメイン = リード
暗号化の使用 = false         
圧縮を使用する = true

# HTTP 基本認証は空白のままにできます http_user = test
http_pwd = テスト

vhosts.conf (Nginx 設定)

サーバー{
 聞く 80;
 443 ssl http2 をリッスンします。
 ssl_certificate /usr/local/nginx/conf/ssl/lede.frp.test.com.crt;
 ssl_certificate_key /usr/local/nginx/conf/ssl/lede.frp.test.com.key;
 ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
 ssl_prefer_server_ciphers をオン;
 ssl_session_timeout 10分;
 ssl_session_cache 組み込み:1000 共有:SSL:10m;
 SSLバッファサイズ1400;
 add_header 厳格なトランスポートセキュリティ max-age=15768000;
 ssl_stapling オン;
 ssl_stapling_verify オン;
 サーバー名 lede.frp.okuka.com;
 access_log /data/wwwlogs/lede.frp.test.com_nginx.log を結合しました。

 $ssl_protocol = "" の場合、301 https://$host$request_uri を返します。

 位置 / {
      proxy_pass http://127.0.0.1:8080;#ポート番号は、frps.ini の vhost_http_port と一致している必要があります proxy_set_header Host $host;
      proxy_set_header X-Real-IP 8.8.8.8;#ここにパブリックサーバーのIPを入力してください 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

知らせ! ! ! ! !上記の操作は、サービスを再起動した後でのみ使用できます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • https暗号化アクセス用にnginxを設定するための詳細なチュートリアル
  • Alibaba Cloud Nginx はドメイン名アクセス プロジェクトを実装するために https を設定します (グラフィック チュートリアル)
  • Nginx設定の原理と実装プロセスの詳細な説明https
  • Nginx で HTTPS 証明書を構成する詳細なプロセス
  • Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します
  • HttpとHttpsの両方をサポートするNginxの詳細な設定
  • Nginx http ヘルスチェック構成プロセス分析
  • nginx で SSL 証明書を設定して https サービスを実装する方法
  • Docker に nginx をインストールし、https 経由でアクセスを構成する方法
  • Nginx の構成と HTTP 実装コード分析との互換性

<<:  Mysql5.6.36 スクリプトのコンパイル、インストール、初期化のチュートリアル

>>:  JavaScriptにおける評価戦略の詳細な説明

推薦する

リストループスクロールを実現するための HTML+CSS+JavaScript サンプルコード

説明: 指定された時間内に前のノードのコンテンツを置き換えるタイマーを設定します。 1. キーコード...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

MySQLデータベース監視binlogを有効にする手順

序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...

Windows に MySQL をインストールする方法のグラフィック チュートリアル

概要: この記事では主に、Windows 環境に MySQL をインストールする方法について説明しま...

MySQLでよく使われる演算子と関数の概要

まずデータ テーブルを作成しましょう。 使用テスト; テーブル「従業員」を作成します( emp_no...

CSS疑似クラス名を数字で始めないでください

初心者が div+css を開発する場合、.ggg、#ccc などの形式の CSS 疑似クラス名を付...

Vue+Spring Bootで検証コード機能を実現

この記事では、検証コード機能を実装するためのvue+spring bootの具体的なコードを例として...

CUDA8.0とCUDA9.0はUbuntu16.04で共存します

序文Github にある以前のコードには、CUDA 8.0 環境が必要なものもあります。初心者の場合...

Linux システムで .sh ファイルを実行する方法

Linux システムで .sh ファイルを実行する方法は 2 つあります。たとえば、ルート ディレク...

JavaScript デザインパターンの学習 アダプタパターン

目次概要コードの実装要約する概要アダプタ パターンは、デザイン パターンの動作パターンのパターンです...

CSS クロスブラウザ スタイルのバグのデバッグについて

まず最初に、適切なブラウザを選択します。私が Chrome を選択したのは、その強力なデバッグ ツー...

CSS における位置指定の概要

CSS には 4 種類の配置方法があり、シナリオによって効果が異なります。ここでは、これら 4 種類...

CSS 透明ボーダー背景クリップマジック

この記事では、CSSの透明な境界線の背景クリップの素晴らしい使い方を主に紹介し、みんなと共有し、自分...

MySQL の行レベルロックの詳細な例

序文ロックは、複数のスレッドを実行するときにリソースへのアクセスを強制的に制限するために使用される同...

Tomcat でよく使われるフィルターの詳細な説明

目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...