zoukankan      html  css  js  c++  java
  • web由http升级为https搭建

    nginx实现http访问

       server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
              proxy_pass http://10.10.137.5:8080/;
            }
           error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    nginx.conf

    nginx由http升级为https

    1.创建服务器证书密钥文件 server.key:
    openssl genrsa -des3 -out server.key 1024
    输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
    2.创建服务器证书的申请文件 server.csr
    openssl req -new -key server.key -out server.csr
    输出内容为:
    Enter pass phrase for root.key: ← 输入前面创建的密码
    Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN
    State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
    Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
    Organizational Unit Name (eg, section) []: ← 可以不输入
    Common Name (eg, YOUR name) []: ← 此时不输入
    Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
    Please enter the following ‘extra’ attributes
    to be sent with your certificate request
    A challenge password []: ← 可以不输入
    An optional company name []: ← 可以不输入
    4.备份一份服务器密钥文件
    cp server.key server.key.org
    5.去除文件口令
    openssl rsa -in server.key.org -out server.key
    6.生成证书文件server.crt
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    生成证书和私钥
    [root@hz]# cd /etc/nginx/key
    [root@hz]# openssl genrsa -des3 -out server.key 1024
    Generating RSA private key, 1024 bit long modulus
    ..........................................++++++
    ....................++++++
    e is 65537 (0x10001)
    Enter pass phrase for server.key:
    Verifying - Enter pass phrase for server.key:
    [root@hz-ds-itstool-199-137-5 key]# ls
    server.key
    [root@hz-ds-itstool-199-137-5 key]# openssl req -new -key server.key -out server.csr
    Enter pass phrase for server.key:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:beijing
    Locality Name (eg, city) [Default City]:beijing
    Organization Name (eg, company) [Default Company Ltd]:beijing
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:
    Email Address []:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    [root@hz-ds-itstool-199-137-5 key]# cp server.key server.key.org
    [root@hz-ds-itstool-199-137-5 key]# openssl rsa -in server.key.org -out server.key
    Enter pass phrase for server.key.org:
    writing RSA key
    [root@hz-ds-itstool-199-137-5 key]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    Signature ok
    subject=/C=CN/ST=beijing/L=beijing/O=beijing
    Getting Private key
    [root@hz-ds-itstool-199-137-5 key]# ls
    server.crt  server.csr  server.key  server.key.org
    实例生成配置
    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
              proxy_pass http://10.199.137.5:8095/;
            }
        
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
    # Settings for a TLS enabled server.
    #
    
    
    server {
      listen 443;  # https默认使用443端口
      server_name 10.199.137.5;  # 将0.0.0.0替换为你的网站域名或ip
     
      ssl on;
      ssl_certificate /etc/nginx/key/server.crt;
      ssl_certificate_key /etc/nginx/key/server.key;
      ssl_session_timeout 5m;
      ssl_protocols SSLv2 SSLv3 TLSv1;
      ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
     
      ssl_prefer_server_ciphers on;
     
      location / {  
           proxy_pass http://10.199.137.5:8095/; 
       }
     }
    }
    实例nginx.conf

    http和https共存访问 

    强制https访问 

    server {
            listen 80;
            server_name localhost_tp.com;//注意改为自己的域名
            rewrite ^(.*)$  https://$host$1 permanent;
    }
    配置项
    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  10.199.137.5;
            rewrite ^(.*)$  https://$host$1 permanent;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
              proxy_pass http://10.199.137.5:8095/;
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
    # Settings for a TLS enabled server.
    #
    
    
    server {
      listen 443 ssl;   # https默认使用443端口
      server_name 10.199.137.5;  # 将0.0.0.0替换为你的网站域名或ip
     
      ssl_certificate /etc/nginx/key/server.crt;
      ssl_certificate_key /etc/nginx/key/server.key;
      ssl_session_timeout 5m;
      ssl_protocols SSLv2 SSLv3 TLSv1;
      ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
     
      ssl_prefer_server_ciphers on;
     
      location / {  
           proxy_pass http://10.199.137.5:8095/; 
      }
     }
    }
    nginx.conf

     配置后输入http地址后自动跳转到https访问地址

  • 相关阅读:
    EF系列——DbContext 和DbSet
    EF中的实体关系
    EF中的持久化场景
    Sass
    js里==和===的区别 、sass与less的区别 、style,与class区别(精解版)
    HTML页面加载和解析流程 link与script标签
    DesktopNaotu 百度桌面脑图使用事项
    BootStrap4中使用图标
    Bootstrap4
    CDN文件
  • 原文地址:https://www.cnblogs.com/yxh168/p/11752419.html
Copyright © 2011-2022 走看看