linux系统下使用nginx反向代理asp.net core,并配置免费的https证书
反向代理是为动态 Web 应用提供服务的常见设置。 反向代理终止 HTTP 请求,并将其转发到 ASP.NET Core 应用。
1.在asp.net core项目中的Startup的Configure方法中配置中间键来转接 X-Forwarded-For 和 X-Forwarded-Proto 标头
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
2.之后在本地将项目发布,在将发布后的文件复制到linux服务器上
3.运行项目
这里介绍两种方法:
(1)直接使用dotnet 命令运行程序
表示在后台运行该应用 nohup dotnet [应用的dll] &
ps : 想要停掉后台应用时: 先使用 netstat -lntp 找到进程的ID,在使用kill -9 [id] 杀死该进程;
(2)docker容器运行
Dockerfile
FROM microsoft/dotnet:2.2.-aspnetcore-runtime
WORKDIR /app
COPY . /app
EXPOSE /tcp
ENTRYPOINT ["dotnet" , "User.API.dll"]
构建镜像(将Dockerfile文件放在linux服务器上的项目文件的根目录下) docker build -t [镜像名] . 启动容器
-d : 表示该容器在后台运行
-p :容器暴露的端口和要映射容器内应用的端口 docker run -d -p : --name [容器名] [镜像名]
之后使用 docker ps 命令就可以查看到正在运行的容器
当程序运行起来后,记得去你虚拟机云服务商管理界面把对应的端口打开,之后在外网使用ip就可以访问当页面了。(假如还是访问不了,那就在检查一下虚拟机内部的防火墙是否打开了,打开了就把防火墙给关了,一般来说就是这两个问题)
4.安装nginx (根据你的linux系统,直接google一下就行了)
5.修改nginx配置文件 /etc/nginx/sites-available/default ,使用 vim 命令打开
server {
listen ; #nginx监听那个端口,记得也要去把80端口打开哟
server_name example.com *.example.com; #域名填你的,网上也有许多免费的,去弄一个,再将本机的公网ip绑定上去
location / {
proxy_pass http://localhost:5000; #本地应用地址及端口,可以使用 curl 命令测试一下
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;
}
}
将上面的内容替换进行,在保存退出即可 (不熟悉vim命令的也可以google学习一下)
修改好上的defalut配置文件夹后,使用的 nginx -s reload重启一起nginx及可
做到这一步就可以在外网直接使用ip进行访问了,不用加端口号,因为默认的就是80端口
这里还有微软爸爸的文档可以看
6.在上面的步骤都顺利后就可以来配置https了
免费的https证书 : https://certbot.eff.org
在首页选好你的反向代理服务器和linux版本后,就按照提示的命令行安装就行


7.最后
如果nginx出现问题了,比如:访问的时候出现 502 bad Gateway,那我们就去 /var/log/nginx 文件夹下看看最近的error.log日志,将错误信息复制下来,google一下,一般都能找到解决方法的。
linux系统下使用nginx反向代理asp.net core,并配置免费的https证书的更多相关文章
- Nginx反向代理+负载均衡简单实现(手动申请https证书,申请免费https证书,http强转https)
背景:A服务器(192.168.1.8)作为nginx代理服务器B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服 ...
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
- Nginx 反向代理工作原理简介与配置详解
Nginx反向代理工作原理简介与配置详解 by:授客 QQ:1033553122 测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...
- Linux 下的 Nginx 反向代理配置.
最近实践中遇到了需要利用 nginx 进行反向代理服务器请求的需求,以前没怎么碰触过,因此花了1个多小时,快速阅览了一下nginx官网在反向代理服务中给出的基本定义: 说实话,官网给予的定义是精准的, ...
- 利用DockerHub在Centos7.7环境下部署Nginx反向代理Gunicorn+Flask独立架构
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_165 上一篇文章:Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像,是在 ...
- [nginx]Windows和Mac下,nginx反向代理服务器配置
最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.co ...
- 【Todo】秒杀系统 & 乐观锁 & Nginx反向代理
http://www.csdn.net/article/2014-11-28/2822858 1. 单点帐号验证,不用读,而是用写入,Redis,看是否加watch 2. 抢宝的最终购买冲突.包装称“ ...
随机推荐
- PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function【转】
这篇文章主要介绍了PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function,需要的朋友可以参考下 1.错误类型:PHP致命错误 E ...
- windows下git安装过程
参考廖雪峰博客: https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496 git网站下载程序: https://git-s ...
- Windows Server2008 R2 服务器域名设置Https安全证书访问
域名支持Https访问设置 1.首先登陆域名申办公司的域名管理账号添加TXT域名解析信息 以新网域名公司为例:http://dcp.xinnet.com,输入域名:www.xxx.com和密码登录即可 ...
- 2016 ACM-ICPC Asia Regional Dalian Online HDU 5875 Function(线段树)
题意 求区间l~r的a[l]%a[l+1]%--%a[r]的值 思路 因为取模的变化是很快的,所以线段树查找区间内第一个小于等于a[l]的数的位置,更新ans后继续查找即可. 注意查询满足某种条件的位 ...
- 在浏览器输入URL回车之后发生了什么?(超详细版)
前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所以相对 ...
- 交互器中python中的帮助使用
C:\Users\ceshi>pythonPython 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 b ...
- XLA
原 TensorFlow技术内幕(七):模型优化之XLA(上) 2018年06月13日 14:53:49 jony0917 阅读数 5513 版权声明:本文为博主原创文章,遵循CC 4.0 by- ...
- python3对urllib和urllib2进行了重构
python3对urllib和urllib2进行了重构,拆分成了urllib.request,urllib.response, urllib.parse, urllib.error等几个子模块,这样的 ...
- 树莓派autossh反向隧道
本来我是将树莓派连接到路由器,从而在电脑端通过IP访问.远在局域网之外的队友怎么访问呢? ssh反向隧道 它的原理比较简单: 树莓派主动向某公网服务器建立ssh连接,并请求公网服务器开启一个额外的SS ...
- Spring Cloud微服务安全实战_3-8_API安全之登录
前面的文章 https://www.cnblogs.com/lihaoyang/p/11967121.html 说了用过滤器实现HttpBasic 认证 ,在请求头里携带用户名和密码,存在的问题是, ...