nginx二级域名代理

二级域名带ssl证书代理

在nginx配置文件,增加代理配置服务

server {
        listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
        server_name api.dshvv.com;  #二级域名。
        root html;
        index index.html index.htm;
        ssl_certificate /home/ssl/dshvv.pem;   #将domain name.pem替换成您证书的文件名。
        ssl_certificate_key /home/ssl/dshvv.key;   #将domain name.key替换成您证书的密钥文件名。
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
        ssl_prefer_server_ciphers on;   
        
        location / {
             proxy_pass http://127.0.0.1:7777; #代理地址
              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;
              proxy_set_header X-Forwarded-Port $server_port;
        }
    }
意思是 遇到api.dshvv.com请求的时候,将代理至本地的7777服务。

需要注意的是,需要在域名服务上,开启二级域名的解析

nginx二级域名代理

nginx二级域名代理

普通二级域名配置

因为ssl证书是针对以及域名的,二级域名提示无效风险,但是不影响使用,也就是说二级域名用https请求会提示ssl证书无效
阿里有统配子域名的证书,但是要花钱,每年1-2k,还是算了
如果二级域名不配置证书,代理可以做如下新增

server {
        listen 80;
        server_name api.dshvv.com;  #二级域名。
        root html;
        index index.html index.htm;
        
        location / {
             proxy_pass http://127.0.0.1:7777; #代理地址
              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;
              proxy_set_header X-Forwarded-Port $server_port;
        }
    }

当然最好还是都加上,两种配置都写上,这样使用的时候有的选择

相关推荐