mindoc-org / mindoc

Golang实现的基于beego框架的接口在线文档管理系统
https://mindoc.com.cn/docs/mindochelp
Apache License 2.0
7.29k stars 1.9k forks source link

有没有配置ssl证书的教程 #629

Open cshirong opened 4 years ago

cshirong commented 4 years ago

请按照一下格式提交issue,谢谢!

  1. 你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)?

  2. 你当前使用的是什么操作系统? windows 2012 64位 宝塔面板 nginx

  3. 你是如何操作的?

按照官方以下这个指导先配置:

server { listen 80;

#此处应该配置你的域名:
server_name  webhook.iminho.me;

charset utf-8;

#此处配置你的访问日志,请手动创建该目录:
access_log  /var/log/nginx/webhook.iminho.me/access.log;

location / {
    try_files /_not_exists_ @backend;
}

# 这里为具体的服务代理配置
location @backend {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host            $http_host;
    proxy_set_header   X-Forwarded-Proto $scheme;

    #此处配置 MinDoc 程序的地址和端口号
    proxy_pass http://127.0.0.1:8181;
}

}

后面就无法安装SSL

  1. 你期望得到什么结果?

  2. 当前遇到的是什么结果?

我一切配置都好了,http绑定好了,固定IP与http域名都正常使用,就是https的SSL证书安装不上,一安装就与上面的配置有冲突一样。如果先按上面这个配置,就无法安装和连接SSL证书。如果先安装SSL,就能成功,但上面的配置又不知道如何设置,连http这边也访问不了。我查过很多资料,有没有明确一点的教程呢?

cshirong commented 4 years ago

server { listen 80;

#此处应该配置你的域名:
server_name  zxzycd.com;

charset utf-8;

#此处配置你的访问日志,请手动创建该目录:
#access_log  /var/log/nginx/webhook.iminho.me/access.log;

location / {
    try_files /_not_exists_ @backend;
}

# 这里为具体的服务代理配置
location @backend {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host            $http_host;
    proxy_set_header   X-Forwarded-Proto $scheme;

    #此处配置 MinDoc 程序的地址和端口号
    proxy_pass http://127.0.0.1:8181;
}

}

server { listen 80; listen 443 ssl; server_name zxzycd; index index.php index.html index.htm default.php default.htm default.html; root C:/wwwroot/zxzycd;

START-ERROR-PAGE

error_page 403 /403.html;

error_page 404 /404.html;

error_page 502 /502.html;

END-ERROR-PAGE

#HTTP_TO_HTTPS_START
#HTTP_TO_HTTPS_END

#LIMIT_INFO_START
#LIMIT_INFO_END

#SSL-INFO-START
ssl_certificate    ssl/zxzycd.com/fullchain.pem;
ssl_certificate_key    ssl/zxzycd.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497  https://$host$request_uri; 
#SSL-INFO-END

#反代清理缓存配置
location ~ /purge(/.*) {
    proxy_cache_purge cache_one $1$is_args$args;
}
#proxy 反向代理
include proxy/zxzycd/*.conf;

#PHP-INFO-START 
include php/00.conf;
#PHP-INFO-END

#REWRITE-START
include rewrite/zxzycd/*.conf;
#REWRITE-END

#redirect 重定向
include redirect/zxzycd/*.conf;

#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
    return 404;
}

#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
    allow all;
}

access_log C:/BtSoft/wwwlogs/zxzycd.log; error_log C:/BtSoft/wwwlogs/zxzycd.error.log; }

怎么弄呢?如果这个变成两个不同网站了。http访问的是mindoc,https访问的是html首页。小弟不大熟悉,之前都是傻瓜式安装PHP的,现在安装这软件确实头疼,但这软件确实好用。