试着概括一下 Nginx

为了学习Linux2,试着总结一下Nginx。它与Apache一样受欢迎,由于我没有过多关注细节设置,所以我的总结比较简单。

安装

我经常使用Amazon Linux 2,但是Amazon Linux 2没有提供Nginx的yum包。

因此,需要按照以下步骤进行添加。

在亚马逊Linux 2上,从附加软件仓库安装Nginx。

主要的配置文件

ファイル説明/etc/nginx/nginx.confメイン設定ファイル/etc/nginx/conf.d/default.confデフォルトサーバーの設定ファイル/etc/nginx/conf.d/ssl/confSSLの設定ファイル/etc/nginx/conf.d/virtual.confバーチャルホストの設定ファイル

基本书式:指令 值;

还有一些采用块结构的指令。
在父块中设置的内容会传递给子块。

指令{
其他指令;

}

ディレクティブ説明コンテキストinclude他の設定ファイルを読み込む全てuserワーカープロセスの実行ユーザーmainworker_processesワーカープロセス数mainworker_connections1つのワーカープロセスが同時に処理できるコネクション数eventslog_formatアクセスログの書式定義httpaccess_logアクセスログのパスとログレベルhttp,server,locationerror_logエラーログファイルのパスとログレベルmain,http,server.locationlistenリクエストを受け付けるポート番号serverserver_nameサーバー名serverkeepalive_requests一度の接続で受け付けることのできるリクエスト数の上限http,server,locationkeepalive_timeoutキープアライブのタイムアウトまでの秒数http,server,locationserver_tokensバージョン番号の表示http,server,locationrootドキュメントルートhttp,server,locationindexインデックスファイルhttp,server,locationautoindexインデックスリスト表示のon/offhttp,server,locationerror_pageエラーコードとエラーページノURIhttp,server,locationrewriteリダイレクトの設定server,locationfastcgi_passFastCGI サーバへリクエストをプロキシする

在上下文中,您可以使用各种指令来指定参数。

如果要将用户重定向到另一个网站,可以按照以下方式进行设置。
※ 如果是临时重定向,则将 “permanent” 更改为 “redirect”。

server {
  listen 80;
  server_name www.example.com;
  rewrite ^(.*)$ http://www.example.net$1 permanent;

SSL/TLS: 安全套接层/传输层安全

SSL関連のディレクティブ説明sslonなら有効ssl_certificateサーバー証明書ファイル、中間CA証明書ファイルssl_certificate_keyサーバー秘密鍵ファイルssl_protocolsバージョンssl_ciphers暗号アルゴリズム
http {
  ssl_ciphers:ECDHE-RSA-AES128-SHA;
  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_session_tickets off;
  ssl_stapling on;
  ssl_stapling_verify on;
}

server {
  ssl on;
  listen 443 ssl;
  server_name www.example.com;
  ssl_certificate ssl/server.crt;
  ssl_certificate_key ssl/server.key;
  root /var/www/html;
  location / {
    index  index.html index.htm;
}

如果在Nginx中省略ssl_protocols和ssl_ciphers会发生什么情况?

反向代理

リバースプロキシ関連のディレクティブ説明proxy_passプロキシ先URIproxy_http_versionhttpのバージョンproxy_set_headerプロキシ先に送られるリクエストヘッダの定義
server{
  listen 80 default_server;
    server_name www.example.com;

    location / {
        proxy_pass    http://192.168.0.1;

        proxy_set_header    1.1;
        proxy_set_header    Host $http_host;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

不是从客户端访问而是从反向代理访问被记录下来。因此,为了让Web服务器能够记录真实的访问来源,我们需要通过proxy_set_header指令来重新编写标头,定义Host标头、X-Real-IP标头和X-Forwarded-For标头。

广告
将在 10 秒后关闭
bannerAds