系統(tǒng)采用公網(wǎng)ipv6?ddns-go?阿里云|騰訊云域名的方式實(shí)現(xiàn)公網(wǎng)的訪問。
但是公網(wǎng)訪問dsm必須在域名后帶上指定端口才能訪問指定的web服務(wù)胯盯。為了安全起見,也為了便于記憶计露,系統(tǒng)可以利用nginx的二級域名代理服務(wù)博脑,然后關(guān)閉除nginx監(jiān)聽端口外的其他端口以實(shí)現(xiàn)更為安全的訪問控制。
如原始的ddns-go的web界面為pengsijie.top:9876票罐,不便于記憶叉趣,當(dāng)服務(wù)多了之后,當(dāng)初記憶端口變得困難该押。因此可以在linux系統(tǒng)或docker下安裝nginx服務(wù)并配置轉(zhuǎn)發(fā)規(guī)則疗杉。
轉(zhuǎn)發(fā)規(guī)則示例如下:
主配置文件nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
client_max_body_size 40960m;
#gzip on;
include /etc/nginx/conf.host/*.conf;
}
轉(zhuǎn)發(fā)規(guī)則配置文件xxx.xonf
server {
listen 80;
listen [::]:80;
server_name ddnsgo.pengsijie.top;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://192.168.10.99:9876;
proxy_connect_timeout 300s;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
#proxy_buffering off;
proxy_busy_buffers_size 128k;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
然后進(jìn)去ddns-go的動態(tài)域名解析配置界面,配置該服務(wù)的二級域名為ddnsgo.pengsijie.top蚕礼,隨后保存烟具,ddns-go便會與阿里云或者騰訊云進(jìn)行更新域名解析的api操作。配置完成后重啟nginx奠蹬,便可以直接通過ddnsgo.pengsijie.top訪問web服務(wù)朝聋,而無需加上端口。
如要進(jìn)入群暉的管理界面囤躁,默認(rèn)端口為5000冀痕,原始訪問url為pengsijie.top:5000,當(dāng)配置了ddns-go動態(tài)域名解析為如dsm.pengsijie.top狸演,nginx中配置server_name為dsm.pengsijie.top后言蛇,便可以直接通過http://dsm.pengsijie.top訪問群暉的web管理界面。
注意點(diǎn):
當(dāng)配置了通過nginx代理其他web服務(wù)時宵距,建議配置一下nginx的最大請求body猜极,因?yàn)楫?dāng)有文件上傳的需求時,默認(rèn)的最大body可能過小消玄,會導(dǎo)致請求上傳文件時跟伏,服務(wù)器報(bào)413的請求錯誤。
可以選擇在http{ }中設(shè)置:client_max_body_size 200m;
也可以選擇在server{ }中設(shè)置:client_max_body_size 200m;
還可以選擇在location{ }中設(shè)置:client_max_body_size 200m;
三者有區(qū)別
設(shè)置到http{}內(nèi)翩瓜,控制全局nginx所有請求報(bào)文大小
設(shè)置到server{}內(nèi)受扳,控制該server的所有請求報(bào)文大小
設(shè)置到location{}內(nèi),控制滿足該路由規(guī)則的請求報(bào)文大小
如果不想在docker中安裝nginx兔跌,可以用系統(tǒng)自帶的nginx配置相關(guān)的自定義server即可勘高。默認(rèn)的nginx的配置文件路徑為:/etc/nginx
自定義配置文件可放在sites-enabled文件夾中。
然后將上面步驟nginx配置的二級域名轉(zhuǎn)發(fā)的內(nèi)容坟桅,新建一個xxx.conf并粘貼內(nèi)容保存到sites-enabled华望。然后重啟系統(tǒng)自帶的nginx服務(wù)。重啟命令為:
synosystemctl restart nginx