两个需求,一是nginx绑定证书并反向代理http服务;二是二级域名的反向代理
一、nginx绑定证书并反向代理:
首先需要nginx服务器及证书,证书包括.pem证书文件和.key证书密钥,证书及密钥需要上传至nginx服务器中。
nginx.conf文件配置:
server {
listen 443 ssl;
server_name a.xxx.com; # 证书绑定的域名
ssl on; #设置为on启用SSL功能,如果是nginx1.5以前的版本就需要加上ssl on,如是nginx1.5以后的版本就不需要加。
ssl_certificate server.pem; #将server.pem替换成证书的文件名
ssl_certificate_key server.key; #将server.key替换成证书的密钥文件名
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#使用该协议进行配置
ssl_ciphers ECDHE-RSA-AES128-GCM-
SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://1.1.1.1:8081/; #需要代理的内网服务器地址
}
}
验证:
内网nginx及域名访问均已绑定好证书。
二、不同二级域名nginx反向代理
需求如下图:所有域名均解析至nginx中,通过nginx做不同二级域名的反向代理。
具体配置如下(使用http作为演示):
#### APP1 ####
server {
listen 80;
server_name 1.xxx.com;
location / {
proxy_pass http://1.1.1.1:8081;
}
#### APP2 ####
server {
listen 80;
server_name 2.xxx.com;
location / {
proxy_pass http://1.1.1.2:8082;
}
#### APP3 ####
server {
listen 80;
server_name 3.xxx.com;
location / {
proxy_pass http://1.1.1.3:8083;
}