专栏首页痴者工良使用 Nginx 对 ASP.NETCore网站 或 Docker 等进行反向代理
原创

使用 Nginx 对 ASP.NETCore网站 或 Docker 等进行反向代理

1,Nginx 的 配置文件

Nginx 可以配置反向代理、负载均匀等, 其默认配置文件名为 nginx.conf

一般存放于 /你的安装目录/nginx/conf  下

Nginx 加载配置信息,可以把所有的配置都放进 nginx.conf 文件,也可以根据站点分别放到不同的文件,然后在 nginx.conf 文件中,使用 include 命令把配置文件包含进去。

nginx 的配置是立即生效的,也就是说,不需要关闭、重启 nginx ,修改配置文件并保存后,配置立即生效。

 自定义配置文件可以任意命名。

2,反向代理配置代码

以下为配置一个反向代理的简单例子,适用于ASP.NET Core、Docker等,内容比较简单,单纯属于反向代理。目的是在网外能够访问到服务器的资源。

注:ASP.NET Core 默认使用的是 Kestrel ,使其实现跨平台,需要反向代理才能在外网进行访问。

配置文本:

server {
listen 端口;    #多个域名使用英文逗号分隔 80,81
server_name ip或域名;   #多个域名使用英文逗号分隔开
location / {
proxy_pass http://ip:端口;  #例 http://localhost:8111
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

只需要更改3个地方。

每个配置,使用一个 server

server
{

}

注意:

如果你想配置多端口多域名访问,则需要多个的 server{} 。

Nginx 中,同一个 server{} 配置,里面的端口是共用的。端口、域名属于交叉关系。(下图有演示)

假设

server {
listen 80,81,82,83;    #多个域名使用英文逗号分隔 80,81
server_name a.com,b.com,c.com,d.com;   #多个域名使用英文逗号分隔开
...
...
}

那么,实际访问,公有 4*4 种情况。

a.com  80,81,82,83

b.com  80,81,82,83

c.com  80,81,82,83

d.com  80,81,82,83

- - - - -

你可以直接代码内容放进到nginx.conf文件中,也可以放到其他可访问目录,然后使用

//1 一个文件
include /www/server/panel/vhost/nginx/test1.conf;

//2 该目录下所有的.conf文件
include /www/server/panel/vhost/nginx/*.conf;

//也可以是其他文本文件,这里不再赘述

 3,使用宝塔面板,手动添加配置

宝塔面板是非常强大的管理器,不过在Linux中,其只支持 自动为 PHP添加网站。

如果你的服务器安装了宝塔面板,利用宝塔安装 nginx 等组件,那么那些组件的安装目录是不同于默认安装目录的的。 

使用宝塔面板安装的nginx,

nginx.conf 位置 /www/server/nginx/conf

单独文件位置 /www/server/panel/vhost/nginx

宝塔为每个网站,创建一个配置文件,存在 /www/server/panel/vhost/nginx 目录中。

用户手动添加配置的话,打开这个目录,然后新建一个文件,把代码粘贴进去即可。

一个逗逗的大学生

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何优雅地使用腾讯云COS-.NET篇

    代码下载地址 https://github.com/whuanle/txypx20190809

    痴者工良
  • .NET Core 使用 EF 出错的解决方法

    在.NET Core 项目钟(类库),使用Entity Framework,建立模型生成数据库时,失败

    痴者工良
  • ASP.NET Core 编码、web编码、网页编码 System.Text.Encodings.Web

    空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、字符范围或码位的筛选器的类。

    痴者工良
  • Nginx http 反向代理设置

    在上一篇 Nginx 在 CentOS 上的安装时已经提到了 Nginx 是一个应用广泛的反向代理服务,可是有的人可能就一脸问号了,反向代理是啥意思?

    南风
  • Nginx代理以及面向未来的HTTP

    通过官网下载 Nginx,将其解压。在命令行内输入./nginx.exe 即可启动。

    Dreamy.TZK
  • nginx常见架构

    总结 开启压缩主要是为了减少网络传输消耗,浏览器会对压缩的文件进行解压缩,这个过程要快很多。

    lyb-geek
  • Nginx 极简教程(快速入门)

    Demo目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果。

    lyb-geek
  • 超详细的Nginx简易教程,一学就会!

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。本文的作者为「静默虚空」 ,可点击文...

    Rookie
  • nginx简易教程

    nginx简易教程 概述 什么是nginx? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代...

    静默虚空
  • 超详细的Nginx简易教程,一学就会!

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。本文的作者为「静默虚空」 ,可点击文...

    用户1093975

扫码关注云+社区

领取腾讯云代金券