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服务。
需要注意的是,需要在域名服务上,开启二级域名的解析
普通二级域名配置
因为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; } }
当然最好还是都加上,两种配置都写上,这样使用的时候有的选择