Nginx反向代理Confluence

Confluence安装完成之后默认是用IP访问的,这样不是很方便,所以我们可以用Nginx反代套个域名上去还可以加个SSL证书。

SSL配置这里就不写了,反正Nginx配置SSL就那几行固定的代码。要反代Confluence的话,首先得编辑这个程序的配置文件:

vi /opt/atlassian/confluence/conf/server.xml

再如图所示的位置加入:

proxyName="www.example.com" proxyPort="80"

注意格式,/>这个不能漏掉:

然后停止运行,这个可能你需要执行两次才能停止,这程序有点奇葩,有时候一次不能完全kill掉所有pid:

sh /opt/atlassian/confluence/bin/shutdown.sh

然后再运行起来:

sh /opt/atlassian/confluence/bin/start-confluence.sh

安装Nginx:

yum -y install nginx

新建一个站点配置文件:

vi /etc/nginx/conf.d/confluence.conf

写入:

server {
listen       80;
client_max_body_size 100000m;
server_name  www.example.com;
location / {
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://127.0.0.1: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://127.0.0.1:8091/synchrony;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}

接着启动Nginx并设置开机启动:

systemctl restart nginx
systemctl enable nginx

我这个方法是把Confluence反代到主域名,你可以设置反代成目录访问的形式,比如这样:www.example.com/confluence

那如果是目录的这种形式,则还是要修改之前的confluence配置文件:

vi /opt/atlassian/confluence/conf/server.xml

把如图位置的PATH修改成你要反代的名字:

然后Nginx的第一个location段修改成:

location /confluence {
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://127.0.0.1:8090/confluence;
}

重启Nginx即可。

最后登录进去把你的网址修改一下保存即可:

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论