1.http配置
直接编写配置文件
server {
# HTTP的默认访问端口80
listen 80;# 填写服务器ip 【两种选择选其一】
# server_name hongdou.tech; # 有域名选择此条
server_name 8.130.89.51:3010; # 没有域名选择此条
# 将所有HTTP请求通过rewrite指令重定向到HTTPS。
# rewrite ^(.*)$ https://$server_name$1 permanent;location / {
root /workspace/wwtys-web;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
charset utf-8;
}location /api/ {
proxy_pass http://webservers/;
proxy_redirect default;
rewrite ^/api/(.*) /$1 break;
}location /v1/ {
proxy_pass http://8.130.89.51:8090/;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header x-forwarded-for $remote_addr;#一层代理时是用户真实ip,二层代理时是第一台nginxip
#proxy_set_header X-Real-IP $remote_addr;#一层代理时没有值,多层代理里面会存储多个ip值,第一个值就是真实用户ip
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite ^/v1/(.*) /$1 break;
}}
2.https配置
1.申请数字签名
我是在阿里云申请的ssl 【目前是能一次申请20个,一个的有效期为三个月】
2.选择格式
我使用的是nginx,所以下载了nginx版的压缩包。
3.在创建目录
我的nginx挂载目录如下
在你要编写的nginx配置文件的同级目录(vhost)下,创建cert目录,把上一步下载好的压缩包解压后,把两个文件(.key和.pem)导入该文件夹。
注释:我是在vhost目录下创建的xxx.conf配置文件和cert目录
4.编写配置文件
upstream webservers{ # 配置的服务器集群
server 8.130.89.50:3310;
}server {
## HTTPS的默认访问端口443
listen 443 ssl;# 填写证书绑定的域名
server_name hongdou.tech;# 填写证书文件名称
ssl_certificate vhosts/cert/hongdou.tech.pem;
# 填写证书私钥文件名称
ssl_certificate_key vhosts/cert/hongdou.tech.key;ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;charset urf-8;
location / {
root /workspace/wwtys-web;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
charset utf-8;
}location /api/ {
proxy_pass http://webservers/;
proxy_redirect default;
rewrite ^/api/(.*) /$1 break;
}location /v1/ {
proxy_pass http://hongdou.tech:8090/;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header x-forwarded-for $remote_addr;#一层代理时是用户真实ip,二层代理时是第一台nginxip
#proxy_set_header X-Real-IP $remote_addr;#一层代理时没有值,多层代理里面会存储多个ip值,第一个值就是真实用户ip
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
rewrite ^/v1/(.*) /$1 break;
}}
server {
# HTTP的默认访问端口443
listen 80;# 填写证书绑定的域名
server_name hongdou.tech;# 将所有HTTP请求通过rewrite指令重定向到HTTPS。
rewrite ^(.*)$ https://$server_name$1 permanent;location / {
root /workspace/hongdou-web;
try_files $uri $uri/ /index.html last;
index index.html index.htm;
charset utf-8;
}location /api/ {
proxy_pass http://webservers/;
proxy_redirect default;
rewrite ^/api/(.*) /$1 break;
}
}