nginx 配置更新

This commit is contained in:
zjcqoo 2019-04-26 11:15:48 +08:00
parent a7652f4cb1
commit 20957c768f
2 changed files with 23 additions and 10 deletions

View File

@ -49,19 +49,30 @@ yum install -y \
# 部署
参考 `gen-cert` 目录,为自己的域名申请证书。(不申请证书也可以,例如通过 CloudFlare
修改 `nginx.conf` 中域名相关的配置(默认被注释),以及 DNS 地址(默认是 114.114.114.114)。
## 客户端
浏览器端项目位于https://github.com/EtherDream/jsproxy-browser
参考备注,修改线路服务器地址,之后将 www 目录发布到 Web 空间即可
准备一个域名(例如 `example.com`),解析 IP 到自己的服务器
`allowed-sites.txt` 中添加 Web 空间的地址,重启服务生效。该文件授权哪些网站可以调用该接口,防止被滥用。
参考备注,将 `example.com` 添加到线路服务器地址。
> 注意:端口是 8443不是 8080。因为 Service Worker 只有本地测试可用 HTTP 协议,其他场合必须 HTTPS。
执行 `./debug.sh` 编译脚本,将 `www` 目录发布到 Web 空间(例如 `https://myhost.github.io`
(目前还不完善,之后将实现动态配置,无需修改 JS 代码)
## 服务端
给域名 `example.com` 申请证书,保存到 `cert/example.com/` 目录下。(可参考 `gen-cert` 目录,使用脚本自动生成,得到 `ecc.key``ecc.cer` 文件)
修改 `nginx.conf` 中域名相关的配置(默认被注释)。
`allowed-sites.txt` 中添加 Web 空间的地址(例如 `https://myhost.github.io`),重启服务生效。
# 安全策略
如果不希望代理访问内网,可执行 `setup-ipset.sh`,避免 SSRF 风险。

View File

@ -1,12 +1,13 @@
http {
server {
# server_name *.etherdream.com;
# server_name example.com;
# ssl_certificate cert/example.com/ecc.cer;
# ssl_certificate_key cert/example.com/ecc.key;
# listen 8443 ssl http2;
# include cert/etherdream.com/ngx.conf;
listen 8080;
include api.conf;
}
resolver 114.114.114.114 ipv6=off;
resolver 1.1.1.1 ipv6=off;
resolver_timeout 10s;
keepalive_timeout 60;
@ -26,7 +27,8 @@ http {
# separated by tab (\t)
log_format log_proxy escape=none
'$time_iso8601 $_ver $remote_addr $upstream_cache_status $request_time '
'$time_iso8601 $_origin_id $_ver $remote_addr '
'$upstream_cache_status $request_time '
'$request_length $bytes_sent '
'$request_method $_url $status $upstream_http_access_control_allow_origin '
'$http_user_agent'
@ -48,7 +50,7 @@ http {
proxy_busy_buffers_size 64k;
proxy_send_timeout 10s;
map $http_origin $_origin_allowed {
map $http_origin $_origin_id {
include allowed-sites.txt;
}
}