LinuxはNginxをインストールし、https環境を構成しますUbuntu Https aptNginxコマンド

Ubuntu18.04にNginxをインストールして構成します

1.Nginxをインストールします

  • Nginxパッケージは、Ubuntuのデフォルトのソフトウェアリポジトリで利用できます。インストールは非常に簡単です。次のコマンドを入力するだけです。
# 更新软件包
sudo apt update
# 安装Nginx
sudo apt install -y nginx
  • インストールが完了したら、Nginxサービスのバージョンを確認してください。
sudo nginx -v
  • Nginxがインストールされています

Nginxは文字化けを防ぎます

 server{
    
    
     ...
    listen 8088 default_server;
    listen [::]:8088 default_server;
    charset utf-8;  #设置字符集为 utf-8
 }

Nginx構成https環境

  • https簡単な紹介

ウィキペディアの説明によると:

HTTPS、英語:Hypertext Transfer Protocol Secure)超文本传输安全协议
ネットワークサーバーのIDの暗号化された通信と認証を提供するため使用されます

構成を開始します

1.OpenSSLをアップグレードします

# 更新源
sudo apt-get update

# 安装openssl依赖库
sudo apt-get install openssl

# 查看安装好的openssl版本号
openssl version

第二には、ドメイン名を購入した場所やに行き腾讯云阿里云SSL証明書を申請するなど(アプリケーション自由はい、地元の専制君主はお気軽にどうぞ)

3. nginx証明書ファイル(通常は2つ)を保存するディレクトリを見つけます

# 在nginx配置目录里创建一个 ssl目录
mkdir  /etc/nginx/ssl
mkdir  /etc/nginx/ssl/private  #存放两个ssl证书
mkdir  /etc/nginx/ssl/certs # 存放openssl生成的dhparam.pem

第四に、Nginx構成ファイルを変更します

  • もちろん、エラーを回避するために変更するためにWindows側にダウンロードすることもできます
# 使用apt命令安装的Nginx配置文件一般就在这里
vi /etc/nginx/sites-enabled/default
server {  
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;
    # 这里输入你证书绑定的域名 www解析和  @ 解析 中间以空格隔开
    # www.yuweb.cf
    # yuweb.cf
    server_name www.yuweb.cf yuweb.cf;

    ssl on;
    # 这里输入你证书的存放路径
    ssl_certificate /etc/ssl/private/example_com.pem;
    ssl_certificate_key /etc/ssl/private/example_com.key;
}

5、セキュリティを強化する(オプション)

  • 上記は安全ではなく、デフォルトはSHA-1形式です。現在、主流のスキームではSHA-1を回避する必要があります。これにより、セキュリティを強化するために、Diffie-Hellman鍵交換を採用できます。
  • まず、/ etc / nginx / ssl / certsディレクトリに入り、dhparam.pemを生成します
cd /etc/nginx/ssl/certs
  • Dhparam.pem
openssl dhparam -out dhparam.pem 2048
  • オプションの暗号化ビットの数は、マシンのパフォーマンスに基づいています。数が多いほど、生成時間が安全になり、時間が長くなります。

  • 1024

  • 2048

  • 4096

  • 生成が完了したら、NginxのSSL構成の後にサーバーコードブロックを追加します

server {  
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;
    # 这里输入你证书绑定的域名 www解析和  @ 解析 中间以空格隔开
    # www.yuweb.cf
    # yuweb.cf
    server_name www.yuweb.cf yuweb.cf;

    ssl on;
    # 这里输入你证书的存放路径
    ssl_certificate /etc/ssl/private/example_com.pem;
    ssl_certificate_key /etc/ssl/private/example_com.key;
    
    ssl_prefer_server_ciphers on;
    # 你的dhparam.pem文件所在位置
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
    keepalive_timeout 70;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.4.4 8.8.8.8 valid=300s;
    resolver_timeout 10s;
    
    add_header Strict-Transport-Security max-age=63072000;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
}

6、ポート443構成に転送されるポート80へのアクセスを追加します

  • サーバーブロックを追加する
server {
        listen 80;
        listen [::]:80;
        # 主机名 输入你的域名
        server_name yufire.cf www.yufire.cf;
        # 转发到你的 https端口  请输入你的域名
        return 301 https://www.yufire.cf$request_uri;
}

構成が完了した後

  • 構成ファイルが正しいかどうかを確認します
nginx -t
次のエラーが発生した場合
  • おそらく
    サーバー名繰り返しバインドされいることを意味しますが、この警告はサーバーの動作には影響しません
  • 解決策同じホスト名を持つ2つの同一のリスニングポートが設定されているかどうかを確認します
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
  • 問題が発生した後、Nginx構成ファイルをリロードします
nginx -s reload
  • ブラウザでのアクセスが成功したかどうか
    [外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-Krio1hfT-1588549492225)(91348C8B2ABC49D6AD90386F81DC2CBF)]

Nginxの一般的なコマンド

コマンド 効果
service nginx start Nginxサービスを開く
service nginx stop Nginxサービスを停止します
service nginx restart Nginxサービスを再起動します
nginx-sリロード Nginx構成ファイルをリロードします
nginx -v Nginxのバージョン番号を表示する
nginx -s stop nginxを停止します
nginx -s quit nginxを終了します
nginx -t 構成ファイルが正しいかどうかを確認します

おすすめ

転載: blog.csdn.net/weixin_43420255/article/details/105912406