|
本帖最后由 fsunset 于 2022-2-21 17:01 编辑
使用nginx作为反代服务器可以给内网服务加上tls进行安全传输与访问,同时也能多端口复用,提高了我们使用的安全性与便利性;此篇文章即适用于docker同样也适用与宿主机安装;以下为教程内容(教程仅以阿里云域名为例其他域名方法类似,在此不详细说明了):
1: 在阿里云的域名解析中做好本机的域名解析,动态ip的需先做好ddns(此处可参大白教程);
2: 拿到阿里云的AccessKey,此处参考我写的tls文章;
3: ssh登陆到服务器;
4: 准备与nginx相关的文件夹及文件:
4.1新建文件夹
- $ mkdir nginx
- $ mkdir nginx/conf.d nginx/ssl
- $ pwd #获取当前目录
复制代码 4.2 新建反代配置文件
- $ touch nginx/conf.d/pve.conf #新建pve.conf文件,pve可以替换成你自己的服务名,任意都可以
- $ vim nginx/conf.d/pve.conf #编辑pve.conf文件,输入下列内容
- server {
- listen 10440 ssl http2; #端口可以任意设置
- server_name pve.text.com; #此处pve.text.com为反代后的域名
- ssl_certificate /etc/nginx/ssl/*.text.com_ecc/fullchain.cer; #加粗部分按你自己域名修改
- ssl_certificate_key /etc/nginx/ssl/*.text.com_ecc/*.text.com.key; #加粗部分按你自己域名修改
- ssl_session_cache builtin:1000 shared:SSL:10m;
- ssl_session_timeout 1d;
- keepalive_timeout 120s 120s;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
- ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
- ssl_prefer_server_ciphers on;
- add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
- add_header X-Frame-Options "DENY";
- location / {
- proxy_pass http:/10.201.1.215:18080; #反代语句,就这一句,地址及端口按你自己服务的修改
- }
- error_page 497 https://$host:$server_port$uri$is_args$args; #497跳转,可以保证在你输http://pve.text.com:1044的情况下跳转https://pve.text.com:1044
- error_page 404 /404.html;
- location = /40x.html {
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
复制代码 文件到此准备完毕.
5: 获取证书,内容与上篇文章大致相同;
- $ docker run -itd --name acme.sh --net=host -v /root/nginx/ssl:/acme.sh -e Ali_Key=xxxxx -e Ali_Secret=xxxxxxxxxxx --restart=always neilpang/acme.sh daemon #/root为4.1获取到的目录 dnspod为DP_Id DP_Key
- $ docker exec acme.sh --set-default-ca --server letsencrypt #修改默认的证书的CA
- $ docker exec acme.sh --issue --dns dns_ali -d *.text.com' --keylength ec-384 #获取证书 dnspod 为 dns_dp
复制代码 6: 部署nginx开始反代
- $ docker run -itd --name nginx -v /root/nginx/conf.d:/etc/nginx/conf.d -v /root/nginx/ssl:/etc/nginx/ssl --net=host --restart=always nginx #/root为4.1获取到的目录
复制代码 nginx已经成功的跑起来了.
7:新增其他反代服务
- $ cp nginx/conf.d/pve.conf nginx/conf.d/aria.conf #复制一个配置文件并修改
- $ docker exec -it nginx nginx -t #测试配置文件是否正确
- $ docker exec -it nginx nginx -s reload #重载配置文件
复制代码 如果不会的话可以在qq群547927397联系我
|
|