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

下载完成后,

  1. 将其放在nginx的根目录下,我这里的路径是 C: ginx-1.14.0 ,把下载得到的文件放到这个路径下
  2. 将其重命名为nginx-service.exe
  3. 创建配置文件。新建一个记事本,将文件名改为 nginx-service ,txt 后缀改为 xml,即完整文件名为 nginx-service.xml  (注意,配置文件名要和2中的nginx-service一致)
  4. 创建nginx-service.exe.config(为支持NET 4.0 Runtime,默认只支持 NET 2.0 Runtime)

操作完成后,文件结构如下:

  •  配置nginx-service.xml

  用记事本或其他编译器打开 nginx-service.xml 文件,输入以下内容并保存(C: ginx-1.14.0 为 nginx 的根目录,请根据实际情况更改):

<service>
  <id>nginx</id>
  <name>Nginx Service</name>
  <description>High Performance Nginx Service</description>
  <logpath>C:
ginx-1.14.0logs</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
  <executable>C:
ginx-1.14.0
ginx.exe</executable>
  <startarguments>-p C:
ginx-1.14.0</startarguments>
  <stopexecutable>C:
ginx-1.14.0
ginx.exe</stopexecutable>
  <stoparguments>-p C:
ginx-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: ginx-1.14.0,按住 shift 键,右击空白处,选择 “在此处打开命令窗口”

  

   

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

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

 三、配置反向代理

nginx配置文件路径,根目录/conf/nginx.conf,我这里是 C: ginx-1.14.0conf ginx.conf,在修改之前,我们先将原始文件备份一份,复制拷贝nginx.conf,更名在nginx.conf.bak

  • http反向代理 
    server {
        listen       80;
        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       443 ssl; 
            server_name  www.test2.com;  #输入你的域名
    
            ssl_certificate      C:ssl1_www.test2.com.crt;  #证书路径,支持 crt,pem 类型的证书,不支持 pfx 类型的证书
            ssl_certificate_key  C:ssl2_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

原文地址:https://www.cnblogs.com/nethrd/p/9469951.html