Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS
一、需求
由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关。
把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 IP 映射,进行 HTTP 和 HTTPS 代理转发到内部主机中。
配置转发的域名时,需要提前将域名和公网 IP 进行解析绑定才可以。

二、配置文件
...
server {
listen 80;
server_name wiki.xxx.net;
charset utf-8;
access_log /var/log/nginx/wiki.xxx.net/access.log;
location / {
try_files /_not_exists_ @backend;
}
location @backend {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://192.168.101.69:8181;
}
...
...
server {
listen 443 ssl;
server_name app.xxx.net;
charset utf-8;
access_log /var/log/nginx/app.xxx.net/access.log;
ssl_certificate ../conf/cert/7174710_app.xxx.net.pem;
ssl_certificate_key ../conf/cert/7174710_app.xxx.net.key;
location / {
try_files /_not_exists_ @backend;
}
location @backend {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://192.168.101.70;
}
}
...
三、访问测试


到此就完成根据域名来代理转发对应的主机了,后续还有其他系统需要对外提供服务的,通过以上配置微调即可。
如有不恰当的地方,还望大佬们在评论区指教,谢谢!
Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS的更多相关文章
- Nginx TLS SNI 不同域名多443转发
依赖 yum -y install pcre-devel openssl openssl-devel library 编译: mkdir /data/nginx/ -p ./configure --p ...
- Nginx server_name 正则泛域名反向代理两例
最近在学习Nginx搭建负载均衡系统,感觉系统部署方式的思路瞬间开阔了很多. 负载均衡服务器的后端服务器上各自有一套功能相同的WEB管理系统,主要作用是方便的对各自服务器的IIS站点及服务器防火墙测量 ...
- 利用Nginx rewrite规则实现域名显性转发
体验更优排版请移步原文:http://blog.kwin.wang/website/nginx-rewrite-realize-domain-forward.html 自己的blog域名最开始用的vb ...
- nginx二级域名反向代理
nginx二级域名反向代理 添加两个开发测试的域名 test.xxx.com :8088 testmobile.xxx.com: 8089 内网地址:127.0.0.1 外网地址:127.0.0.1 ...
- Nginx服务器作反向代理实现内部局域网的url转发配置
情景 由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80 ...
- Nginx代理转发Apache+svn
1.安装svn和httpd yum install httpd yum install subversion mod_dav_svn 创建仓库目录 mkdir -p /var/www/svn 3.创建 ...
- nginx反向代理转发后页面上的js css文件无法加载【原创】
故障现象:nginx做代理转发后,发现页面上的js css文件无法加载,页面样式乱了. 原因:没有配置静态资源 解决js css文件无法加载无法访问的问题 解决办法: 修改配置文件nginx.conf ...
- 【转】Nginx反向代理转发tomcat
http://blog.csdn.net/mlc1218559742/article/details/53117520 最近刚接触nginx,在网上查阅了相关资料,看到最多的形容nginx的词就是反向 ...
- nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token
nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token 注意: proxy_pass http://192.168.40.54:22 ...
随机推荐
- Codeforces 567D:One-Dimensional Battle Ships(二分)
time limit per test : 1 second memory limit per test : 256 megabytes input : standard input output : ...
- 计算机视觉1->opencv4学习指南1 | 环境配置与例程
opencv虽然很有名,但是自己一直没怎么玩过,暑假的时候使用深度相机做项目,但负责的不是代码模块,也只是配好了环境,没有继续了解图像处理.最近电子实习老师有教这个东西,但是身边不少同学遇到了麻烦,所 ...
- 源码解析C#中PriorityQueue(优先级队列)的实现
前言 前段时间看到有大佬对.net 6.0新出的PriorityQueue(优先级队列)数据结构做了解析,但是没有源码分析,所以本着探究源码的心态,看了看并分享出来.它不像普通队列先进先出(FIFO) ...
- EMQX源码编译过程
以emqx4.0.7版本为例 1.安装erlang环境 可以参考:https://www.cnblogs.com/shanfeng1000/p/11951703.html 这里需要注意一下,要按照em ...
- 初识python: 列表(list)
使用列表函数写一个"购物车"小程序: #!/user/bin env python # author:Simple-Sir # 20180908 ''' 需求: 1.启动程序后,让 ...
- Python_paramiko-与linux交互
一.基础功能介绍 # coding=utf-8 import paramiko from time import sleep # 建立通信 transport = paramiko.Transport ...
- redis中文乱码问题
1.可以直接打开dos指令框输入指令进去redis数据库,因为在安装的时候就已经勾选了配置默认的环境变量. 2.可以输入ip进去,redis-cli.exe -h 192.168.32.8 -p 63 ...
- Word2010制作饭店活动宣传单
原文链接: https://www.toutiao.com/i6492754127343321613/ 打开Word文档,选择"页面布局"选项卡."页面背景"功 ...
- 缓存一致性性协议MESI笔记
概述 今天的笔记只是讲解一下MESI的概念和使用场景的介绍,MESI(Modified Exclusive Shared Or Invalid)也称为伊利诺斯协议,是一种广泛使用的支持协会策略的缓存一 ...
- sql审核-避免离线sql导致的db集群故障
关键词: sql审核.sql审批.sql检查.sql检测.sql执行 离线sql可能会导致的问题 首先,什么是离线sql呢?就是说手动触发执行的这种sql:相对的还有在线sql,位于我们的程序代码中, ...