Nginx反向代理配置
1.Java接口反向代理配置
server
{
listen 80;
server_name api.hungry-english.com;
#后台靜態路徑配置
location / {
root /service/app/hunger_server/master;
try_files $uri $uri/ /index.html?q=$uri&$args;
index index.html index.htm;
}
#后台接口配置 默認所有接口都以hunger開頭
location /hunger {
proxy_pass http://127.0.0.1:4000;
client_max_body_size 100m;
proxy_buffer_size 512k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 512k;
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 Accept-Encoding "";
}
}
2.Web 頁面配置
server
{
#開啟和關閉gzip模式
gzip on;
#gizp壓縮起點,文件大於1k才進行壓縮
gzip_min_length 1k;
# gzip 壓縮級別,1-9,數字越大壓縮的越好,也越占用CPU時間
gzip_comp_level 6;
# 進行壓縮的文件類型。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/xml text/javascript application/json image/png image/gif image/jpeg;
#nginx對於靜態文件的處理模塊,開啟后會尋找以.gz結尾的文件,直接返回,不會占用cpu進行壓縮,如果找不到則不進行壓縮
# gzip_static on|off
# 是否在http header中添加Vary: Accept-Encoding,建議開啟
gzip_vary on;
# 設置壓縮所需要的緩沖區大小,以4k為單位,如果文件為7k則申請2*4k的緩沖區
gzip_buffers 4 16k;
# 設置gzip壓縮針對的HTTP協議版本
# gzip_http_version 1.1;
listen 80;
server_name manager.hungry-english.com;
# web項目打包路徑
location / {
root /service/app/hunger_server/frontEnd/mgmt;
try_files $uri $uri/ /index.html?q=$uri&$args;
index index.html index.htm;
}
}
3.Nginx HTTPS配置
server
{
#開啟和關閉gzip模式
gzip on;
#gizp壓縮起點,文件大於1k才進行壓縮
gzip_min_length 1k;
# gzip 壓縮級別,1-9,數字越大壓縮的越好,也越占用CPU時間
gzip_comp_level 6;
# 進行壓縮的文件類型。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/xml text/javascript application/json image/png image/gif image/jpeg;
#nginx對於靜態文件的處理模塊,開啟后會尋找以.gz結尾的文件,直接返回,不會占用cpu進行壓縮,如果找不到則不進行壓縮
# gzip_static on|off
# 是否在http header中添加Vary: Accept-Encoding,建議開啟
gzip_vary on;
# 設置壓縮所需要的緩沖區大小,以4k為單位,如果文件為7k則申請2*4k的緩沖區
gzip_buffers 4 16k;
# 設置gzip壓縮針對的HTTP協議版本
# gzip_http_version 1.1;
listen 80;
listen 443 ssl;
server_name hunger.30days-tech.com;
location / {
root /service/app/hunger_server/frontEnd/mgmt/;
}
# PEM 和KEY 可從阿里雲免費申請 需要綁定對應的域名
ssl_certificate /usr/local/nginx/ssl/hunger.30days-tech.com/4595717_hunger.30days-tech.com.pem;
ssl_certificate_key /usr/local/nginx/ssl/hunger.30days-tech.com/4595717_hunger.30days-tech.com.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 /hunger {
proxy_pass http://127.0.0.1:4000;
client_max_body_size 100m;
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
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 Accept-Encoding "";
}
}