博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7.4下使用Nginx配置Asp.net Core和添加Https证书步骤
阅读量:4597 次
发布时间:2019-06-09

本文共 2524 字,大约阅读时间需要 8 分钟。

本人最近刚开始学Asp.net Core,为了方便以后的练习,打算先把Asp.net Core的部署环境先搭建起来。

开发环境:

1.Asp.Net Core 2.2

2.VS2017

器 CentOS7.4

Https证书:

腾讯云免费证书

注意:

Asp.net Core默认链接为http://loaclhost:5000,因此需要修改 Program.cs  使用通配符 .UseUrls("http://*:5000"),这样就可以用服务器ip或者绑定域名去访问

步骤:

一.打包发布Asp.net Core项目

二.登录CentOS系统,按顺序操作

1.注册Linux系统

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

  

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

  2.更新安装包,安装.NET Core(服务器配置低的话每一步执行命令的时间会比较久)

sudo yum updatesudo yum install libunwind libicusudo yum install dotnet-sdk-2.2

  3.安装Nginx

sudo yum install -y nginx

  4.设置Nginx自动启动,并启动Nginx

sudo systemctl start nginx.service

  

打开,输入服务器IP,显示这个页面则安装成功

 

5.下载XFTP6,并且上传打包好的Asp.net Core项目文件到/Home/目录下面

6.打开CentOS系统防火墙,并开放80/443/5000端口

systemctl start firewalld.servicefirewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=443/tcp --permanentfirewall-cmd --zone=public --add-port=5000/tcp --permanent

  

重启防火墙

firewall-cmd --reload

  

7.配置Nginx监听80端口,反向代理Asp.net Core项目

在/etc/nginx/下找到nginx.conf文件,并查看第一个监听80端口的Server,修改成

server {    listen 80;    server_name localhost;    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;    }}

  然后查看配置文件是否修改正确,之后重启Nginx

nginx -v  查看Nginx的版本nginx -t  修改完配置文件后查看是否正确nginx -s reload 重启Nginx

  

8.配置Https证书

将从腾讯云下载的证书,上传到/etc/nginx文件夹里面

修改nginx.conf文件,将监听443端口的server改成

server {     listen 443;     server_name www.XXX.com; #填写绑定证书的域名     ssl on;     ssl_certificate 1_www.XXX.com_bundle.crt;     ssl_certificate_key 2_www.XXX.com.key;     ssl_session_timeout 5m;     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置     ssl_prefer_server_ciphers on;     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;     } }

  

9.运行网站

dotnet /home/CoreTest/CoreTest.Web.dll

  

 

转载于:https://www.cnblogs.com/jhxk/articles/10948515.html

你可能感兴趣的文章
netty与MQ使用心得
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
swoolefy PHP的异步、并行、高性能网络通信引擎内置了Http/WebSocket服务器端/客户端...
查看>>
Python学习笔记
查看>>
unshift()与shift()
查看>>
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>
{面试题1: 赋值运算符函数}
查看>>
Node中没搞明白require和import,你会被坑的很惨
查看>>
Python 标识符
查看>>
Python mysql 创建连接
查看>>
企业化的性能测试简述---如何设计性能测试方案
查看>>
centos7 安装中文编码
查看>>
POJ - 3683 Priest John's Busiest Day
查看>>
正则表达式start(),end(),group()方法
查看>>
vuejs 学习旅程一
查看>>