赞
踩
在 Windows 上使用 Nginx 作为反向代理来部署 .NET Core 项目,可以按照以下步骤进行配置:
目录
确保在 Windows 服务器上安装了 .NET Core 运行时。如果还没有安装,可以从 Microsoft .NET 下载页面 获取并安装适合的版本。
发布你的 .NET Core 应用以便在服务器上运行。在项目目录中运行以下命令:
dotnet publish -c Release -o C:\path\to\your\app
这会将发布的应用输出到 C:\path\to\your\app
目录。
C:\nginx\
。C:\nginx\conf\nginx.conf
文件。http
块并添加新的 server
块,或者修改现有的 server
块,如下所示: - http {
- ...
-
- server {
- listen 80;
- server_name your_domain.com;
-
- location / {
- proxy_pass http://localhost:5000;
- 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-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- }
- }
-
- ...
- }
上述配置中:
listen 80;
指定了 Nginx 监听的端口。server_name your_domain.com;
指定了你的域名(可以用 localhost
或服务器 IP 地址替代)。proxy_pass http://localhost:5000;
将请求转发到 .NET Core 应用运行的地址(假设它运行在本地的 5000 端口)。打开命令提示符或 PowerShell,导航到发布的应用目录,并运行:
dotnet yourapp.dll
打开命令提示符或 PowerShell,导航到 Nginx 安装目录(例如 C:\nginx\
),并运行:
nginx.exe
在浏览器中访问 http://your_domain.com
或 http://localhost
,应该可以看到你的 .NET Core 应用程序的内容。
为了提高安全性,可以配置 Nginx 以使用 HTTPS。
- server {
- listen 80;
- server_name your_domain.com;
- return 301 https://$host$request_uri;
- }
-
- server {
- listen 443 ssl;
- server_name your_domain.com;
-
- ssl_certificate C:/path/to/your/cert.pem;
- ssl_certificate_key C:/path/to/your/cert.key;
-
- ssl_protocols TLSv1.2 TLSv1.3;
- ssl_ciphers HIGH:!aNULL:!MD5;
-
- location / {
- proxy_pass http://localhost:5000;
- 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-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- }
- }
为了确保在服务器重启后 .NET Core 应用和 Nginx 自动启动,可以创建 Windows 服务或使用任务计划程序来自动启动这些进程。
按照这些步骤配置后,你的 .NET Core 应用程序应该能够通过 Nginx 进行反向代理并正常运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。