2种思路,一种是路径代理,一种是二级域名
路径代理:访问a.b/gitea/
的时候,跳转到gitea
的服务端口(localhost:33333
)
二级域名:访问gitea.a.b
的时候,跳转到gitea
的服务端口(localhost:33333
)
由于使用路径代理的时候,gitea
使用的request_uri
结果导致有些css
总是看不到,所以使用二级域名
-
完成二级域名映射
在域名服务商的
DNS
记录中添加一条A
记录即可,假定A
记录为gitea.kengdie.xyz
-
配置
gitea
修改其中的
domain
项为刚才的二级域名gitea.kengdie.xyz
[root@hecs-x-medium-2-linux-20200411110030 gitea]# cat /usr/local/gitea/custom/conf/app.ini ······此处省略一部分配置,只写出必要配置,下面的端口都故意乱写的 [server] LOCAL_ROOT_URL = http://localhost:90000/ SSH_DOMAIN = gitea.kengdie.xyz DOMAIN = gitea.kengdie.xyz HTTP_PORT = 90000 ROOT_URL = http://gitea.kengdie.xyz/
-
配置
nginx
修改
nginx
的配置[root@hecs-x-medium-2-linux-20200411110030 nginx]# cat /etc/nginx/nginx.conf ······同样只暴露部分相关的配置 server { listen 80; listen [::]:80; server_name kengdie.xyz; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # if ($server_port !~ 443){ # rewrite ^(/.*)$ https://$host$1 permanent; # } ### 在这里注释掉重定向443端口的原因是,因为我下面的gitea没有做ssl,同样监听在80,导致访问gitea.kengdie.xyz的时候,有时候会重定向到443,导致无法访问到gitea } server { listen 80; server_name gitea.kengdie.xyz; ### 此处配置刚才的二级域名gitea.kengdie.xyz root /usr/share/nginx/html; location / { proxy_pass http://gitea.kengdie.xyz:33333$request_uri; ### 后面写上$request_uri的原因是,gitea需要使用后续的uri来相应请求,如果不把这些uri传递过去,gitea的界面就会有很多css看不到 } }
-
访问
gitea.kengdie.xyz