nginx 多域名反向代理

Nginx SSL配置与代理转发实践
本文详细介绍了如何使用Nginx进行HTTPS配置,包括SSL证书的加载及会话缓存设置,并展示了如何为不同子域名配置代理转发规则。此外还提供了高级配置选项,如超时设置和错误处理等。
server {
        listen       443 ssl;
        server_name  A.B;//一级域名
        ssl_certificate      openssl/server.crt;
        ssl_certificate_key  openssl/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
				proxy_pass http://127.0.0.1:82/;
				client_max_body_size 50m;

                fastcgi_ignore_client_abort on;
				proxy_store    off;
				proxy_redirect    off;
                proxy_ignore_client_abort on;
                proxy_connect_timeout 300s;
                proxy_read_timeout 300s;
                proxy_send_timeout 300s;
				proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
				proxy_set_header Host $host;
                proxy_set_header REMOTE_ADDR $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
	
	server {
        listen       443 ssl;
        server_name  fb.A.B;//二级域名
        ssl_certificate      openssl/server.crt;
        ssl_certificate_key  openssl/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
				proxy_pass http://127.0.0.1:83/;
				client_max_body_size 50m;

                fastcgi_ignore_client_abort on;
				proxy_store    off;
				proxy_redirect    off;
                proxy_ignore_client_abort on;
                proxy_connect_timeout 300s;
                proxy_read_timeout 300s;
                proxy_send_timeout 300s;
				proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
				proxy_set_header Host $host;
                proxy_set_header REMOTE_ADDR $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
				proxy_set_header X-Real-IP $remote_addr;
				proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

 

### Nginx 多域名反向代理配置 为了实现多域名反向代理Nginx 可以通过在其配置文件 `nginx.conf` 中定义多个 server 块来区分不同域名的请求。每个 server 块可以根据特定的域名将流量转发给相应的后端服务器。 #### 配置示例 假设存在两个域名:`example1.com` 和 `example2.org`,分别指向两台不同的Web应用服务器。以下是具体的配置方法: ```nginx http { upstream backend_example1 { server 192.168.1.10:8080; # example1.com对应的应用程序所在的位置 } upstream backend_example2 { server 192.168.1.11:8080; # example2.org对应的应用程序所在的位置 } server { listen 80; server_name example1.com; location / { proxy_pass http://backend_example1/; proxy_set_header Host $host; 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; } } server { listen 80; server_name example2.org; location / { proxy_pass http://backend_example2/; proxy_set_header Host $host; 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; } } } ``` 上述配置中,对于每一个要处理的不同域名都创建了一个独立的server块[^4]。当客户端访问这些域名时,Nginx会依据请求中的Host头信息匹配合适的server块,并按照其中设定的方式把请求转交给后台的实际提供服务的机器上执行。 此外,在实际环境中还需要确保DNS已经正确设置了A记录或者其他类型的解析条目使得这两个域名字能够映射到运行着此Nginx实例的公共IP地址上去[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值