Confluence7 配置docker Nginx https 反向代理

前言:首先默认你的Confluence 已经安装好并且设置好证书,此处不做证书导入等介绍。

1、docker

1.拉取仓库nginx镜像,不加版本号默认拉取最新的版本 #docker pull nginx 2.创建一个 start.sh ,启动docker的脚本,内容如下: docker rm -f nginx 2> /dev/null docker run -itd \ --name nginx \ --dns=10.0.0.1 \ # 你自己的dns服务器 --restart=always \ -p 127.0.0.1:443:443 \ -p 127.0.0.1:80:80 \ -v /data/nginx_https/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /data/nginx_https/conf/default.conf:/etc/nginx/conf.d/default.conf \ -v /data/nginx_https/logs/:/var/log/nginx \ -v /data/nginx_https/conf/ssl:/ssl \ nginx 3.创建/data/nginx_https/ 目录 

4.文件准备

4.1 新建文件/data/nginx_https/conf/nginx.conf

#运行nginx的用户 user nginx; #启动进程设置成和CPU数量相等 worker_processes 1; #全局错误日志及PID文件的位置 error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; #工作模式及连接数上限 events { #单个后台work进程最大并发数设置为1024 worker_connections 1024; } http { #设定mime类型 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; #开启GZIP压缩 #gzip on; include /etc/nginx/conf.d/*.conf; }

4.2新建文件/data/nginx_https/conf/default.conf

 server { listen 80; server_name wiki.cs; listen 443 default ssl; ssl_certificate /ssl/server.crt; ssl_certificate_key /ssl/server_nopwd.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { client_max_body_size 100m; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://wiki.cs; # 这是你自己的域名或者默认配置为wiki的ip:8090端口 } location /synchrony { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://wiki.cs/synchrony; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }

5.通过openssl生成证书配置https

cd /data/nginx_https/conf/ssl 1)设置server.key,这里需要设置两遍密码: #openssl genrsa -des3 -out server.key 1024 2)参数设置,首先这里需要输入之前设置的密码,然后需要输入如下的信息,大概填一下就可以了,反正是测试用的, 或者一路回车: #openssl req -new -key server.key -out server.csr 3) 写RSA秘钥,先输入之前设置的密码: #openssl rsa -in server.key -out server_nopwd.key 4)获取私钥: #openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt 完成这一步之后就得到了我们需要的证书文件和私钥了

Confluence 配置

1.在官网中首先让你设置上下文路径和修改Tomcat 的server.xml文件,但是不知道是不是因为我的confluence为docker,我每次重启docker的时候,server文件都是重新生成的,所以一下为修改生成server.xml的server.xml.j2文件,如果有人遇见了可以直接修改xml的,对应修改即可。

2.修改docker confluence 内的/opt/atlassian/etc/server.xml.j2 文件。

找到Connector 配置项,修改代码中的secure,scheme,proxyName,proxyPort四项。

如secure : secure="{{ atl_tomcat_secure | default(catalina_connector_secure) | default('true') }}"

将最后| default('true') 括号里面改为true,

 <Connector port="{{ atl_tomcat_port | default('8090') }}" maxThreads="{{ atl_tomcat_maxthreads | default('100') }}" minSpareThreads="{{ atl_tomcat_minsparethreads | default('10') }}" connectionTimeout="{{ atl_tomcat_connectiontimeout | default('20000') }}" enableLookups="{{ atl_tomcat_enablelookups | default('false') }}" protocol="{{ atl_tomcat_protocol | default('HTTP/1.1') }}" redirectPort="{{ atl_tomcat_redirectport | default('8443') }}" acceptCount="{{ atl_tomcat_acceptcount | default('10') }}" secure="{{ atl_tomcat_secure | default(catalina_connector_secure) | default('true') }}" scheme="{{ atl_tomcat_scheme | default(catalina_connector_scheme) | default('https') }}" proxyName="{{ atl_proxy_name | default(catalina_connector_proxyname) | default('wiki.cs') }}" proxyPort="{{ atl_proxy_port | default(catalina_connector_proxyport) | default('443') }}" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`&quot;&lt;&gt;" bindOnInit="false" maxHttpHeaderSize="{{ atl_tomcat_maxhttpheadersize | default('8192') }}" useBodyEncodingForURI="true" disableUploadTimeout="true" />

3、管理员登陆页面,配置路由为https,(这一步很重要,不然会有跨域之类的问题)这里应该默认为http://ip:8090

Confluence7 配置docker Nginx https 反向代理插图

Confluence7 配置docker Nginx https 反向代理插图1

启动

1、sh start.sh # 第一步中创建的文件,启动Nginx。 2、docker restart confluence # confluence 为你的 confluence-docker名

然后页面就可以https访问了

原文链接:https://blog.csdn.net/hanyuyang19940104/article/details/118766321

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享