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における評価戦略の詳細な説明

推薦する

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

Vueはプログレスバーの変更効果を実現します

この記事ではVueを使ってプログレスバーの変更を簡単に実装してみましたので参考にしてください。具体的...

VUEはタイムライン再生コンポーネントを実装します

この記事の例では、タイムライン再生コンポーネントを実装するためのVUEの具体的なコードを参考までに共...

VUE+CanvasはシンプルなGobangゲームの全プロセスを実現します

序文レイアウトの点では、Gobang はランダムな動きを目的とするゲームよりも実装がはるかに簡単で、...

MYSQL マスタースレーブ レプリケーションの知識ポイントの概要

単一の MYSQL サーバーが現在の Web サイトのトラフィックに対応できない場合の最適化ソリュー...

HTML 特殊文字エンコーディング CSS3 コンテンツに関する簡単な説明:「私は特別なシンボルです」

プロジェクトで使用されている特殊文字とアイコンHTMLコードXML/HTML コードコンテンツをクリ...

CSS で複数の境界線を実装するためのヒント

1. 複数の国境[1]背景: ボックスシャドウ、アウトライン使用シナリオの多様性を考慮すると、複数の...

Windows Server 2016 リモート デスクトップ サービスを展開するためのクイック スタート ガイド

現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...

Linux および CentOS (サーバー) に zip および unzip コマンド機能をインストールする

Linux に zip 解凍機能をインストールする通常、 zip コマンドは Linux サーバーに...

Mac で MySQL 8.0.22 のパスワードを取得する方法

Mac 最新バージョンの MySQL 8.0.22 パスワード回復問題の説明:昨日、突然、Macで最...

権限の問題によりMySQLの設定ファイルmy.cnfを起動できない問題の解決方法

この記事では、権限の問題により MySQL 構成ファイル my.cnf を起動できない場合の関連する...

Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策

Windows 10 で Docker コンテナのポートにアクセスできない問題を解決する (ポート ...

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

LinuxサーバのSSHクラッキング防止方法(推奨)

1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...

CSSで背景ぼかしを設定する方法

ページを作成するときに、ページの見栄えを良くするために、背景画像を設定する必要があることがよくありま...