【Nginx】Windows生成ssl证书,Nginx反向代理HTTPS

【Nginx】Windows生成ssl证书,Nginx反向代理HTTPS下载 OpenSSL
环境 Windows、Linux, 证书我是在Windows上生成的自签证书。
https://slproweb.com/products/W

下载 OpenSSL

环境Windows、Linux、证书我在Windows 上生成了一个自签名证书。

https://slproweb.com/products/Win32OpenSSL.html

Win64 OpenSSL v3.3.1

EXE(这个)|

在“选择其他任务”页面上,选择OpenSSL 二进制文件(/bin) 目录。

接下来,将OpenSSL bin 目录设置为以下路径:

C:\\Program Files\\OpenSSL-Win64\\bin;

创建自签证书

生成私钥文件

openssl genrsa -des3 -outcodingce.com.cn.key 2048

删除密码。如果不删除它,启动Nginx 时将提示您输入密码。

openssl rsa -incodingce.com.cn.key -outcodingce.com.cn.key

创建请求证书

openssl req -new -keycodingce.com.cn.key -outcodingce.com.cn.csr

输入内容示例

国家名称(2个字母代码)[AU]:CN

州名(全称)[Some-State]:Beijing

地区名称(例如城市)[]: 北京

组织名称(例如公司)[Internet Widgits Pty Ltd]:CODINGCE

组织单位名称(例如部门)[]:DEV

通用名称(例如您服务器的FQDN 或您的姓名)[]:codingce.com.cn

邮箱地址[]:root@codingce.com.cn

请输入以下“附加”属性

随证书请求一起发送

挑战密码[]:

任意公司名称[]:CODINGCE

生成证书

openssl x509 -req -days 36500 -incodingce.com.cn.csr -signkeycodingce.com.cn.key -outcodingce.com.cn.crt -extfilecodingce.com.cn.ext

编码网.cn.ext

基本约束=CA:FALSE

keyUsage=不可否认性、数字签名、密钥加密

subjectAltName=@alt_names

[备用名称]

DNS.1=codingce.com.cn

概念

代理

在Java设计模式中,代理模式定义为:为对象提供一个代理对象,代理对象控制对原始对象的引用。

你可能不太理解这句话,但是我给你举一个真实的例子。比如你想买二手房,你可以自己找房子,但是需要花费太多的时间和精力。房屋质检、房屋交付等手续是必要的,但是当今社会,当你找到房子的时候,房子的价格可能已经上涨了,那该怎么办呢?最简单、最快的方法是找到二手房屋经纪人(为什么?还有很多其他房产)。除了为我寻找完美的家外,我还将后续的质检和交付工作委托给了经纪人。您所需要做的就是选择正确的一个。买你需要的房子就可以了。

简单来说,代理就是如果你想做某件事但又不想直接做,你可以找人帮你做。在这个例子中,一家经纪公司正在提供经纪服务,您要求经纪公司帮助您找房。

Nginx主要可以代理以下协议:其中最常用的是HTTP 代理服务器。

http/https(HTTP 服务器) ICMP/POP/IMAP(邮件服务器) RTMP(媒体服务器)

正向代理

如您所知,谷歌目前在中国无法访问。那么如何访问谷歌呢?我们想知道美国人是否也可以访问谷歌(废话,谷歌属于美国)。如果您可以将计算机的外部公共IP地址更改为美国IP地址,您将能够访问Google。太聪明了,VPN 就是这样创建的。访问Google时,首先连接VPN服务器,并将IP地址更改为美国IP地址,即可顺利访问。

这里的VPN是转发代理。转发代理服务器放置在客户端和服务器之间,为了从服务器获取数据,客户端向代理服务器发送请求,并将目标服务器返回的数据转发给代理服务器。客户。现在客户端需要配置转发代理设置。

反向代理

反向代理和正向代理的区别在于正向代理代理客户端,反向代理代理服务器。

反向代理。事实上,客户端访问代理不需要任何配置,只需要将请求发送到反向代理服务器,由反向代理服务器选择目标服务器来获取,因此它并不感知代理。当数据返回给客户端时,反向代理服务器和目标服务器作为一台服务器暴露给外界,而隐藏了实际服务器的IP地址。

Nginx反向代理

背景需求

在我的环境中,内网机器A无法访问公网,但是机器B可以访问公网。目标是机器A 通过机器B 的反向代理访问公共网络。

A 机器

修改机器A上的HOST文件,模拟解析机器B的内网域名(codingce.com.cn)。

C:\\Windows\\System32\\驱动程序\\等

192.168.56.101codingce.com.cn

B 机器

Nginx版本:nginx-1.25.4

Nginx 配置nginx.conf

#没有用户;

工作进程1;

事件{

工人连接1024;

}

http{

服务器名称散列桶大小64;

包括mime.types。

默认类型应用程序/八位字节流;

# 包含自定义配置文件

包括vhost/*.conf。

发送文件。

保活超时65;

#打开gzip。

服务器{

听80。

服务器名称本地主机;

位置/{

根html;

索引index.htmlindex.htm;

}

错误页面500 502 503 504 /50x.html;

位置=/50x.html {

根html;

}

}

}

codingce.conf 用于Nginx 配置

D:\\nginx-1.25.4\\nginx-1.25.4\\conf\\vhost

#codingce.com.cn

服务器{

443 监听SSL。

服务器名称codece.com.cn;

ssl_certificate \’D:\\\\Nginx\\\\nginx-1.25.4\\\\nginx-1.25.4\\\\conf\\\\vhost\\\\codingce.com.cn.crt\’;

ssl_certificate_key \’D:\\\\Nginx\\\\nginx-1.25.4\\\\nginx-1.25.4\\\\conf\\\\vhost\\\\codingce.com.cn.key\’;

ssl_协议TLSv1.2 TLSv1.3;

ssl_ciphers HIGH:aNULL:MD5;

位置/{

proxy_pass https://codingce.com.cn;

proxy_ssl_verify 关闭;

proxy_ssl_server_name 已打开。

proxy_connect_timeout 120 秒;

proxy_send_timeout 120 秒;

proxy_read_timeout 120 秒;

proxy_set_header hostcodingce.com.cn;

proxy_set_header X-真实IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

Linux版本

服务器{

443 监听SSL。

服务器名称codece.com.cn;

ssl_certificate /path/to/codingce.com.cn.crt;

ssl_certificate_key /path/to/codingce.com.cn.key;

ssl_协议TLSv1.2 TLSv1.3;

ssl_ciphers HIGH:aNULL:MD5;

位置/{

proxy_pass https://codingce.com.cn;

proxy_ssl_verify 关闭;

proxy_ssl_server_name 已打开。

proxy_connect_timeout 120 秒;

proxy_send_timeout 120 秒;

proxy_read_timeout 120 秒;

proxy_set_header hostcodingce.com.cn;

proxy_set_header X-真实IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

}

# 启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启

/usr/local/nginx/sbin/nginx -s 重新加载

证书:

自签名证书浏览器不具有安全意识,因此您必须手动添加受信任的根证书颁发机构。如果不添加,上线时会遇到证书失效的问题。

访问机器控制台

#[Nginx]以上有关Windows生成的ssl证书和Nginx反向代理HTTPS相关内容源网络的信息仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93933.html

Like (0)
CSDN的头像CSDN
Previous 2024年7月26日
Next 2024年7月26日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注