zoukankan      html  css  js  c++  java
  • nginx 配置https

    配置站点使用 https,将tomcat、Apache等服务 http 重定向至 https

    1. nginx 的 ssl 模块安装

    查看 nginx 是否安装 http_ssl_module 模块。

    $ /usr/local/nginx/sbin/nginx -V

    如果出现 configure arguments: --with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)。

    下载 nginx 安装包, nginx官网1.14.1稳定版本tar.gz包。
    # 下载安装包到 src 目录

    $ cd /opt
    $ wget http://nginx.org/download/nginx-1.14.1.tar.gz
    

    解压安装包。

    $ tar -zxvf nginx-1.14.1.tar.gz

    配置 ssl 模块。

    $ cd nginx-1.14.1
    $ ./configure --prefix=/usr/local/nginx --with-http_ssl_module

    使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。
    用新的 nginx 文件覆盖当前的 nginx 文件。

    $ cp ./objs/nginx /usr/local/nginx/sbin/

    再次查看安装的模块(configure arguments: --with-http_ssl_module说明ssl模块已安装)。

    $ /usr/local/nginx/sbin/nginx -V
    

    nginx version: nginx/1.14.1

    configure arguments: –with-http_ssl_module

    二、自签SSL证书

    需要先安装openssl,使用openssl给服务器生成RSA密钥及证书。如果是用权威的CA,在你申请CA证书过程中,他会帮你生成私钥,这样你就不需要用openssl生成了。

    # 生成一个RSA私钥,1024是加密强度,一般是1024或2048 
    $ openssl genrsa -out private.key 1024
     
    # 生成一个证书请求
    $ openssl req -new -key private.key -out cert_req.csr
    
    # 自己签发证书,如果要权威CA签发的话,要把cert_req.csr发给CA
    $ openssl x509 -req -days 365 -in cert_req.csr -signkey private.key -out server_cert.crt
    

      

    第2个命令是生成证书请求,会提示输入省份、城市、域名(图中的Common Name)、Email等,这里主要是保证Common Name用网站域名,

    如果没有申请域名,客户端直接通过服务器IP访问,那这里就输入服务器IP。另外,对于自签名的证书,建议生成的私钥不要加密。生成的

    书请求文件cert_req.csr中除了包含这些手动输入的信息外,它还包含private.key对应的公钥,你可能会有一个疑问,根据私钥就能生成公钥吗?

    当然不是,如果只单纯的知道私钥,可以认为是无法计算出公钥的,关键在于Putty在产生私钥时,还会在内存中保存必要的公钥参数。最后由该证

    书生成自签的证书

    ... 
       # HTTPS server
        #
        server {
            listen       443 ssl;
            server_name  xxx.com(网址访问地址);
    
        ssl on;
            ssl_certificate      /usr/local/nginx/ssl/server_cert.crt;
            ssl_certificate_key  /usr/local/nginx/ssl/private.key;
    
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
    
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;
            proxy_redirect http:// $scheme://;
    	port_in_redirect on;
            location / {
                root   xxx(前端代码目录);
                index  index.html index.htm;
            }
        }
    ·server {
            listen      80;
            server_name  xxx.com;
    		rewrite ^(.*) https://$server_name$1 permanent;
            }
    ...
    

      

    参考:

    https://www.cnblogs.com/ajianbeyourself/p/3898911.html
    https://blog.csdn.net/weixin_37264997/article/details/84525444

  • 相关阅读:
    【sqli-labs】 less52 GET -Blind based -Order By Clause -numeric -Stacked injection(GET型基于盲注的整型Order By从句堆叠注入)
    【sqli-labs】 less51 GET -Error based -Order By Clause -String -Stacked injection(GET型基于错误的字符型Order By从句堆叠注入)
    How to create a site with AJAX enabled in MVC framework.
    ASP.NET AJAX web chat application
    Asp.Net MVC4入门指南(1): 入门介绍
    跟我一起学习ASP.NET 4.5 MVC4.0 (转)
    VisualStudio2012轻松把JSON数据转换到POCO的代码(转)
    博客园自定义地址栏logo
    博客园侧边栏修改随笔分类为3D样式
    license.json
  • 原文地址:https://www.cnblogs.com/royfans/p/12367350.html
Copyright © 2011-2022 走看看