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除了 ...
随机推荐
- 为 Nginx 创建 windows 服务自启动
1.下载最新版的 Windows Service Wrapper 程序 下载地址:http://download.java.net/maven/2/com/sun/winsw/winsw/1.9/ 2 ...
- 求两个Linux文本文件的交集、差集、并集
一.交集 sort a.txt b.txt | uniq -d 二.并集 sort a.txt b.txt | uniq 三.差集 a.txt-b.txt: sort a.txt b.txt b.tx ...
- wcf读写cookie
一般来说,web应用的服务端(aspx或mvc的action)调用wcf时,是一个服务与服务的通讯,而不是客户端(浏览器)与服务器的通讯. 这种情况下,如果要在wcf端处理客户端的cookie,就需要 ...
- ASP.NET 预编译笔记
本来下写篇总结,但感觉自己语言不知道怎么组织.就算了. aspnet_compiler的问题: 一开始 aspnet_compiler -v \ -p F: E: -fixednames e ...
- Guidlines and rules About Overwriting hashCode()
Preface "The code is more what you’d call guidelines than actual rules" – truer words were ...
- IntelliJ IDEA创建spring-boot项目
开发环境: jdk版本:JDK8 maven版本:maven-3.5.2 开发工具:Itellij IDEA 2017.1 前提条件:已安装以上软件并配置好jdk和maven的环境变量 创建步骤: 点 ...
- cakephp中使用大括号的形式避免用点号连接sql语句
在cakephp中可以使用{}的形式来代替点号连接sql语句,减少出错的几率
- Code Signal_练习题_Minesweeper
In the popular Minesweeper game you have a board with some mines and those cells that don't contain ...
- BZOJ3524: [Poi2014]Couriers(主席树)
题意 题目链接 Sol 严格众数只会出现一次,那么建出主席树,维护子树siz,直接在树上二分即可 #include<bits/stdc++.h> #define LL long long ...
- div+css模拟select下拉框
<!DOCTYPE html><html ><head lang="zh"> <meta http-equiv="Content ...