使用nginx反向代理静态资源以及虚拟主机的实现
1.安装Nginx
sudo apt update
sudo apt install nginx
2.启动Nginx
systemctl start nginx.service
3.Nginx配置
vim /etc/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024; #最大连接数
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80; #监听平台
server_name iot.chenyj.top; #虚拟主机名
charset utf-8; #字符集
location / { #根地址配置
root /opt/dist; #根地址对应路径
try_files $uri $uri/ /index.html; #第一个$uri:当前请求的假如是127.0.0.1/index/a.png,那就指代index/a.png 第二个$uri/ 指当前文件夹(如127.0.0.1/index,省略index.html/index.htm)
index index.html index.htm;#请求该资源
}
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
location /api/v4/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8081/api/v4/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.chenyj.top;
charset utf-8;
location / {
root /opt/web/main;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name source.chenyj.top;
charset utf-8;
location / {
root /opt/web/source;
}
}
server {
listen 80;
server_name blog.chenyj.top;
location / {
proxy_pass http://localhost:8088;
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;
}
}
server {
listen 80;
server_name ali.chenyj.top;
location / {
proxy_pass http://localhost:8182;
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;
}
}
}
4.通过certbot配置ssl,实现https
apt install -y certbot #安装certbot
apt install -y python3-certbot #安装python插件
apt install -y python3-certbot-nginx #安装certbot对nginx操作的插件
certbot --nginx #配置域名访问
评论