本地搭建了前端项目,但奈何有时候需要https访问的需求,所以做了一个尝试在本地(windows环境)下配置nginx,最终的效果就是

搭建的时候,遇到两个问题:

第一个是如果要在本地搭建https,必须需要证书,那么如何在本地生成证书。

第二个是证书生成了以后,nginx如何配置。

先说第一个问题

1、需要下载一个生成证书的软件库包openssl,下载安装以后,会像npm或者是node一样,可以使用命令,就类似于这样

这里我的下载地址是http://gnuwin32.sourceforge.net/packages/openssl.htm,下载的是Complete package, except sources这个文件。

下载完了以后是一个exe文件需要安装一下,需要注意的是,要记录一下安装的地址,因为安装完了以后,需要进入安装路径下的bin文件夹,才能执行openssl命令。

2、运行命令,生成密钥key

openssl genrsa -des3 -out f:/zhengshu/server.key 

这里的生成路径可自行修改,回车后会被要求输入密码,需要记住下一步要用。这样在相关的路径下就生成了一个server.key的文件。

3、使用命令,去掉密码(需要上一步的密码)

openssl rsa -in f:/zhengshu/server.key -out f:/zhengshu/server.key

4、创建证书的申请文件

openssl req -new -key f:/zhengshu/server.key -out f:/zhengshu/server.csr

这是,会报一个错误 Unable to load config info from /usr/local/ssl/openssl.cnf

是因为openssl找不到对应配置文件,找了一些教程,发现这个配置文件可以引用git里面的这个文件,那么可以修改一下变成这样

openssl req -new -key f:/zhengshu/server.key -out f:/zhengshu/server.csr -config "D:\software\git\Git\mingw32\ssl\openssl.cnf"

其中D:\software\git\Git\mingw32\ssl\openssl.cnf这个文件是我本地安装git的路径。

然后输入国家、姓名.....一大堆,随便写就好

在尝试的时候这里的mail地址有时候输几次都不好,可能是格式有校验。

5、使用上面的证书申请文件和CA证书,来创建自己的证书

openssl x509 -req -days 3650 -in f:/zhengshu/server.csr -CA f:/zhengshu/ca.crt -CAkey server.key -CAcreateserial -out f:/zhengshu/server.crt

这样,在文件里最终有两个文件,一个是ca.crt一个是server.key,证书生成完成。

第二个问题是nginx配置,这个比较简单,安装nginx后,这里先记录几个命令

  • start nginx 启动服务器
  • nginx -s stop 快速停止服务器
  • nginx -s quit 完全正常停止
  • nginx -s reload 重新加载配置文件,修改后执行该命令即可

nginx默认端口是80端口。配置文件在conf下的nginx.config进行配置,先启动nginx,一样需要进入到nginx目录,执行启动命令,能正常访问localhost:80页面后,把nginx.config文件里面的HTTPS server打开,并把以前的server注掉。

标红的路径,是我放证书的路径,至此配置完成。

------------------------------------------------------------------------------分割线-------------------------------------------------------------------------

把前端项目放到nginx上,如下图

其中root为文件存放的路径,index.html为文件名,这个配置只输入localhost:70,就可以跳转到index.html

windows环境在本地配nginx的更多相关文章

  1. Windows环境下用jwplayer+Nginx搭建视频点播服务器

    flv视频可以采用两种方式发布: 一.普通的HTTP下载方式 二.基于Flash Media Server或Red5服务器的rtmp/rtmpt流媒体方式. 多数知名视频网站都采用的是前一种方式. 两 ...

  2. Windows 环境下基于 nginx 的本地 PyPI 源

    Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包

  3. windows 环境下nginx + tomcat群 + redis 实现session共享

    nginx作为负载均衡根据定义将不同的用户请求分发到不同的服务器,同时也解决了因单点部署服务器故障导致的整个应用不能访问的问题 在加入nginx之后,如果多个服务器中的一个或多个(不是全部)发生故障, ...

  4. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。

    php-cgi 是运行php,php-fpm是守护php-cgi进程 nginx配置目录运行php        location  ~ \.php$        {                 ...

  5. svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录

    svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录 Windows下,svn服务器IP本来是内网一台服务器上 ...

  6. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  7. Nginx——在Windows环境下安装

    下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...

  8. Windows环境下使用Nginx搭建负载均衡

    前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...

  9. Nginx——在Windows环境下安装(一)

    下载 Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载.其中1.13.x版本为开发版本,1.12.0版本为稳定版本.开发版本分支会较 ...

随机推荐

  1. Python学习笔记四

    一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...

  2. JSONP ---------跨域

    什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首 ...

  3. Linux 包管理

    1 文集 <Linux 包管理基础:apt.yum.dnf 和 pkg>,由Snapcrafter翻译,英文原创(作者Brennen)地址在这里. 这是一篇不错的概括性的文章,系统介绍了D ...

  4. SQL反模式学习笔记13 使用索引

    目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引.  索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...

  5. js隐藏元素、jquery隐藏、css隐藏

    $("#yh").css("display","none");//隐藏元素 $("#yh").css("dis ...

  6. GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性—Jason niu

    global p global t global R % 输入神经元个数,此处是6个 global S1 % 隐层神经元个数,此处是10个 global S2 % 输出神经元个数,此处是4个 glob ...

  7. 理解ActivityManagerService

    --摘自<Android进阶解密> *AMS家族* 1.Android 7.0的AMS家族 2.AMP和AMS进行通信 3.(Android 7.0)AMP是AMN的内部类,它们都实现了I ...

  8. 使用控制台对Redis执行增删改查命令

    使用控制台对Redis执行增删改查命令 在上一篇里,我们已经安装了redis.这一篇我们将一起来学习如何使用"控制台"管理Redis 首先肯定是打开一个控制台,在windows系统 ...

  9. python3 request模块初使用

    import requests class Interface_Request: def __init__(self,url,mobilephone,pwd): '''login参数初始化''' se ...

  10. express 遇到问题 - Error: Can't set headers after they are sent

    在node配合mongodb,链接数据库,查询所有数据2步操作,都有响应数据返回是会出现 Error: Can't set headers after they are sent,的报错 故障原因:引 ...