windows:nginx配置http、https反向代理
一、下载 Windows 版本的 nginx
nnginx下载:http://nginx.org/en/download.html

推荐稳定版本。下载完成后,解压得到 nginx-1.14.0 ,我把它放到C盘目录下。

二、将 nginx 设置为windows服务
从nginx官网下载的nginx是绿色版本的,双击执行程序才能开启监听工作。我们借助 “Windows Service Wrapper” 小工具,把 nginx 做成 windows服务,这样能更方便我们以后的维护和配置工作。
Windows Service Wrapper 下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
下载完成后,
- 将其放在nginx的根目录下,我这里的路径是 C:\nginx-1.14.0 ,把下载得到的文件放到这个路径下
- 将其重命名为nginx-service.exe
- 创建配置文件。新建一个记事本,将文件名改为 nginx-service ,txt 后缀改为 xml,即完整文件名为 nginx-service.xml (注意,配置文件名要和2中的nginx-service一致)
- 创建nginx-service.exe.config(为支持NET 4.0 Runtime,默认只支持 NET 2.0 Runtime)
操作完成后,文件结构如下:

- 配置nginx-service.xml
用记事本或其他编译器打开 nginx-service.xml 文件,输入以下内容并保存(C:\nginx-1.14.0 为 nginx 的根目录,请根据实际情况更改):
<service>
<id>nginx</id>
<name>Nginx Service</name>
<description>High Performance Nginx Service</description>
<logpath>C:\nginx-1.14.0\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>C:\nginx-1.14.0\nginx.exe</executable>
<startarguments>-p C:\nginx-1.14.0</startarguments>
<stopexecutable>C:\nginx-1.14.0\nginx.exe</stopexecutable>
<stoparguments>-p C:\nginx-1.14.0 -s stop</stoparguments>
</service>
- 配置nginx-service.exe.config文件,输入以下内容并保存:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0" />
</startup>
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
</configuration>
- 安装nginx服务
进入nginx根目录,我这里是 C:\nginx-1.14.0,按住 shift 键,右击空白处,选择 “在此处打开命令窗口”

通过dos命令安装nginx服务,输入 nginx-service.exe install (卸载服务:nginx-service.exe uninstall)

安装完成后,即可在windows服务里找到 nginx-service 的服务

三、配置反向代理
nginx配置文件路径,根目录/conf/nginx.conf,我这里是 C:\nginx-1.14.0\conf\nginx.conf,在修改之前,我们先将原始文件备份一份,复制拷贝nginx.conf,更名在nginx.conf.bak
- http反向代理
server {
listen ;
server_name www.test1.com; #输入你的域名
location / {
#root html;
#index index.html index.htm;
proxy_pass http://192.168.90.99:8080; #源服务器地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/www.test1.com.log; #访问日志路径,将www.test1.com更改为你的域名,提高辨识度。
}
- https反向代理
server {
listen ssl;
server_name www.test2.com; #输入你的域名 ssl_certificate C:\ssl\1_www.test2.com.crt; #证书路径,支持 crt,pem 类型的证书,不支持 pfx 类型的证书
ssl_certificate_key C:\ssl\2_www.test2.com.key; #证书key路径 ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
#root html;
#index index.html index.htm;
proxy_pass http://192.168.90.99:99;
proxy_set_header Host $host;
proxy_redirect http:// $scheme://; #做https跳转
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/www.test2.com.log; #访问日志路径,将www.test2.com更改为你的域名,提高辨识度。}
tips1:更改 nginx 配置文件后,需重启 nginx 服务才能生效;
tips2:配置https反向代理服务器,证书只需在反向代理服务器配置,源服务器配置常规 http 访问即可。
安装nginx并创建windows服务参考文档:https://www.cnblogs.com/edward2013/p/5506588.html
windows:nginx配置http、https反向代理的更多相关文章
- nginx配置, 启动命令, 反向代理配置
2014年1月3日 13:52:07 喜欢这样的风格,干货 http://huoding.com/2013/10/23/290 -----------------下边是我自己的经验(windows)- ...
- nginx配置本地域名反向代理实现本地多域名80访问
什么是反向代理? 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理. 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器. ...
- nginx配置后端映射(反向代理proxy_pass)
说明:配置反向代理proxy_pass和location无关,location后面加不加 / 都可以 1.配置 proxy_pass 时,当在后面的 url 加上了 /,相当于是绝对路径,则 Ngin ...
- 下载编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理
http://blog.csdn.net/gangchengzhong/article/details/52910225 [注意,在编译make时出现的错误并不是文章中说的openssl的版本问题,而 ...
- Nginx插件之openresty反向代理和日志滚动配置案例
Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...
- Nginx总结(五)如何配置nginx和tomcat实现反向代理
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要 ...
- Nginx设置Https反向代理,指向Docker Gitlab11.3.9 Https服务
目录 目录 1.GitLab11.3.9的安装 2.域名在阿里云托管,申请免费的1年证书 3.Gitlab 的 https 配置 4.Nginx 配置 https,反向代理指向 Gitlab 配置 目 ...
- 如何配置nginx和tomcat实现反向代理?
什么是反向代理 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务 ...
- nginx基于TCP的反向代理
一.4层的负载均衡 Nginx Plus的商业授权版开始具有TCP负载均衡的功能.从Nginx 1.7.7版本开始加入的,现在变成了一个商业收费版本,想要试用,需要在官网申请.也就是说,Nginx除了 ...
随机推荐
- C++11中右值引用和移动语义
目录 左值.右值.左值引用.右值引用 右值引用和统一引用 使用右值引用,避免深拷贝,优化程序性能 std::move()移动语义 std::forward()完美转发 容器中的emplace_back ...
- ruby中nil?, empty? and blank?的选择
In Ruby, you check with nil? if an object is nil: article = nil article.nil? # => true empty? che ...
- JPA之@Entity、@Table、@Column、@Id
Java Persistence API定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库.这些普通Java对象被称作Entity Bean.除了是用Java Persis ...
- mysql 中文乱码 解决
数据库安装设置编码: mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法: 修改安装路径下的my.ini文件,default-chara ...
- 2 字节的 UTF-8 序列的字节 2 无效 解决方法
2 字节的 UTF-8 序列的字节 2 无效 解决方法: 用记事本打开xml文件,另存为 编码 选择 UTF-8,保存替换掉之前的文件,解决问题
- [javaSE] 并发编程(线程间通信)
新建一个资源类Resource 定义成员变量String name 定义成员变量int age 新建一个输入类Input,实现Runnable接口 定义一个构造方法Input(),传入参数:Resou ...
- 【转】解决IDEA新建项目名称为红色
idea如果当前project用了版本控制器,其下面新建的所有的项目默认都是加入到版本控制里面,所以项目名称和文件都是红色的,如图: File-->Settings-->version c ...
- Spring系列之——spring security
1 搭建springboot 2 配置pom依赖(springboot版本为2.1.3) <dependency> <groupId>org.springframework.b ...
- Json反序列化为动态类型(dynamic)
方法(依赖于Newtonsoft.Json): /// <summary> /// 反序列化json字符串 /// </summary> /// <typeparam n ...
- 纯小白入手 vue3.0 CLI - 1 - npm 安装与初始化
node 开发环境请先自行准备 npm install -g @vue/cli 安装完成之后命令行则存在 vue 命令 vue -V 查看本地 vue 版本 vue -h 输出帮助 vue creat ...