使用Nginx进行反向代理配置(ubuntu 22.04)
1.安装Nginx
# 安装 Nginx
sudo apt-get install nginx
# 启动 Nginx
sudo service nginx restart
2.配置Nginx
现在你需要为你的服务创建一个单独的Nginx配置文件,如下示例:
# 使用 vim 创建 demo.conf
vim /etc/nginx/sites-enabled/demo.conf
# 创建以下内容
server {
listen 80;
server_name mydomian.com www.mydomian.com; #你的域名
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/; #你的服务地址
}
}
修改完成之后
# 重启 Nginx 配置
sudo service nginx restart
使用certbot申请SSL证书
1.为单域名申请SSL证书
# 安装 certbot 以及 certbot nginx 插件
sudo apt install certbot python3-certbot-nginx
# 执行配置,中途会询问你的邮箱,如实填写即可
sudo certbot --nginx
# 自动续约
sudo certbot renew --dry-run
至此,SSL证书的配置就完成了,申请成功的话,证书文件会存放在/etc/letsencrypt/archive/http://youdomain.com/目录下,由于我们采用的是自动操作,所以Nginx配置certbot会帮我们配置好。如果没有问题,demo.conf会自动更新为以下内容:
server {
server_name youdomin.com www.youdomin.com;
client_max_body_size 1024m;
location / {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/youdomian.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/youdomian.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.youdomin.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name youdomian.com www.youdomian.com;
return 404; # managed by Certbot
}
你现在可以试着用https访问一下你的网站。 但是如果我们想为一些子域名也配置Https访问,还需要进一步的设置。
标题:使用Certbot申请域名SSL证书(python3-certbot-nginx)
作者:snake
地址:HTTPS://7os.com.cn/articles/2024/05/10/1715331114738.html