Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS

本文档介绍了如何使用Nginx作为公司网关,将公网IP的80和443端口映射到内部主机,实现HTTP和HTTPS的代理转发。配置包括对wiki.xxx.net和app.xxx.net的域名解析与代理设置,并提供了访问测试以验证配置的正确性。后续可按此模板扩展其他系统的代理服务。
摘要由CSDN通过智能技术生成

一、需求

由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关。

把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 IP 映射,进行 HTTP 和 HTTPS 代理转发到内部主机中。

配置转发的域名时,需要提前将域名和公网 IP 进行解析绑定才可以。

image-20220209153956886

二、配置文件

http://wiki.xxx.net/ 配置

...
   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;
    	}
...

https://app.xxx.net/ 配置

...
    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;
        }
    }
...

三、访问测试

访问:http://wiki.xxx.net/

image-20220209160121542

访问:https://app.xxx.net/

image-20220209160236957

到此就完成根据域名来代理转发对应的主机了,后续还有其他系统需要对外提供服务的,通过以上配置微调即可。
如有不恰当的地方,还望大佬们在评论区指教,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值