使用 Nginx 對 ASP.NETCore網站 或 Docker 等進行反向代理,寶塔面板對 ASP.NET Core 反向代理

1,Nginx 的 配置文件

Nginx 能夠配置反向代理、負載均勻等, 其默認配置文件名爲 nginx.confnginx

通常存放於 /你的安裝目錄/nginx/conf  下服務器

Nginx 加載配置信息,能夠把全部的配置都放進 nginx.conf 文件,也能夠根據站點分別放到不一樣的文件,而後在 nginx.conf 文件中,使用 include 命令把配置文件包含進去。網站

nginx 的配置是當即生效的,也就是說,不須要關閉、重啓 nginx ,修改配置文件並保存後,配置當即生效。spa

 自定義配置文件能夠任意命名。代理

2,反向代理配置代碼

如下爲配置一個反向代理的簡單例子,適用於ASP.NET Core、Docker等,內容比較簡單,單純屬於反向代理。目的是在網外可以訪問到服務器的資源。code

注:ASP.NET Core 默認使用的是 Kestrel ,使其實現跨平臺,須要反向代理才能在外網進行訪問。server

配置文本:blog

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個地方。ip

每一個配置,使用一個 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 目錄中。

用戶手動添加配置的話,打開這個目錄,而後新建一個文件,把代碼粘貼進去便可。

相關文章
相關標籤/搜索