zoukankan      html  css  js  c++  java
  • brew: Nginx https config

    下载安装Brew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

     brew

    brew又叫Homebrew,是Mac中的一款软件包管理工具,通过brew可以很方便的在Mac中安装软件或者是卸载软件.
    一般Mac电脑会默认安装有brew.
    常用指令如下:

      • brew 搜索软件
        brew search nginx
      • brew 安装软件
        brew install nginx
      • brew 卸载软件
        brew uninstall nginx
      • brew 升级
        sudo brew update
      • 查看安装信息(经常用到, 比如查看安装目录等)
        sudo brew info nginx
      • 查看已经安装的软件
        brew list

    brew安装nginx

      • 安装nginx
        可以用brew很方便地安装nginx.
        sudo brew install nginx
      • 启动nginx服务
        sudo brew services start nginx
        利用http://localhost:8080进行访问, 如果出现如下界面,说明启动成功

     nginx

    Docroot is: /usr/local/var/www

    The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that

    nginx can run without sudo.

    nginx will load all files in /usr/local/etc/nginx/servers/.

    To have launchd start nginx now and restart at login:

      brew services start nginx

    Or, if you don't want/need a background service you can just run:

      nginx

    使用nginx搭建https服务器

    步骤如下

    1. 搭建一个nginx服务器;
    2. 使用openssl生成服务器私钥,客户端私钥,服务器公钥,客户端公钥;
    3. 生成CA根证书,为服务器证书和客户端证书(可选)提供签名服务;
    4. 生成服务器证书和客户端证书,并请求CA的签名;
    5. 在操作系统上信任我们伪造的服务器证书,这里没有为客户端生成证书;
    6. 随便写一个web服务,提供一个url返回一段静态报文,让nginx为它做一下代理,然后启动这个web服务器;
    7. 测试。
    ****生成服务端私钥****:
    $ openssl genrsa -out server.key 2048
    ****生成服务端公钥****:
    $ openssl rsa -in server.key -pubout -out server.pem
    ****生成客户端私钥****:
    $ openssl genrsa -out client.key 2048
    ****生成客户端公钥****:
    $ openssl rsa -in client.key -pubout -out client.pem
    ****生成CA证书****:
    $ openssl genrsa -out ca.key 2048
    $ openssl req -new -key ca.key -out ca.csr
    $ openssl x509 -req -in ca.csr -signkey ca.key -out  ca.crt
    
    生成客户端服务端证书
    服务端:
    $ openssl req -new -key server.key -out server.csr
    $ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
    客户端:
    $ openssl req -new -key client.key -out client.csr
    向CA申请签名:
    $ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt

    证书和私钥生成完毕后,开始配置nginx(http部分从略);

        #HTTPS server
          server {
                  listen       443 ssl;
                  server_name  localhost;
                  ssl_certificate      ../ssl/certs/server.crt;  #放置服务器证书的目录
                  ssl_certificate_key  ../ssl/private/server.key;  #放置服务器私钥的目录
                  ssl_session_cache    shared:SSL:1m;
                  ssl_session_timeout  5m;
                  ssl_ciphers  HIGH:!aNULL:!MD5;
                  ssl_prefer_server_ciphers  on;
                  location / {
                         proxy_pass   http://127.0.0.1:8887;
                         proxy_set_header Host $host;
                         proxy_set_header X-Real-IP $remote_addr;
                  }
           }
  • 相关阅读:
    Python代码项目目录规范v1.0
    博客自定义
    Linux之查看CPU信息
    Python字符界面函数库
    数组的遍历你都会用了,那Promise版本的呢
    NPM实用指北
    如何从0开发一个Atom组件
    使用JavaScript实现一个俄罗斯方块
    使用PostMan进行API自动化测试
    一个有味道的函数
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/10614011.html
Copyright © 2011-2022 走看看