ReserveProxy 를 이용해서 gitlab을 운영하면, gitalb site 안에 있는 링크가 깨지는 경우가 있습니다. 이를 해결하기 위해서는 아래 파일에 dns domain 주소로 변경하면 됩니다.
아래와 같이 시스템이 구성이 되어 있는 상태입니다.
flowchart TD
apache(gitlab.xxxxxx.com) --proxy--> gitlab(10.2.2.2:8000)
설정
apache 설정
<VirtualHost *:443>
ServerName gitlab.xxxxxxxx.com
ProxyRequests Off # Reserve Proxy Mode
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / https://192.168.20.100/ nocanon
ProxyPassReverse / https://192.168.20.100/
<Location />
Order Deny,Allow
Deny from all
Allow from 162.21
</Location>
AllowEncodedSlashes NoDecode
ErrorLog logs/gitlab_error_log
TransferLog logs/gitlab_access_log
LogLevel warn
SSLEngine on
SSLProxyEngine On
SSLCertificateFile "/etc/pki/tls/certs/xxxxxxxxxx.com.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/xxxxxxxxxx.com.key"
SSLCertificateChainFile "/etc/pki/tls/RootChain/chain_all_ssl.crt"
SSLCACertificateFile "/etc/pki/tls/RootChain/chain_ssl.crt"
CustomLog "/etc/httpd/logs/gitlab_" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
도메인주소로 proxy 해서 사용해서 사용할 것이라 ProxyPass
부분을 https
로 설정해 주었습니다.
필수옵션:
- nocanon
- AllowEncodedSlashesgitlab.rb 설정
external_url 'https://gitlab.domain.net
puma['enable'] = true
puma['ha'] = false
puma['worker_timeout'] = 60
puma['worker_processes'] = 2
puma['min_threads'] = 1
puma['max_threads'] = 4
puma['listen'] = '127.0.0.1'
puma['port'] = 8001
puma['socket'] = '/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'
puma['somaxconn'] = 1024
puma['pidfile'] = '/opt/gitlab/var/puma/puma.pid'
puma['state_path'] = '/opt/gitlab/var/puma/puma.state'
puma['log_directory'] = "/var/log/gitlab/puma"
puma['exporter_enabled'] = false
puma['exporter_address'] = "127.0.0.1"
puma['exporter_port'] = 8083
letsencrypt['enable'] = false
- external_url 에 domain 주소로 설정을 하면 letencrypt 기능이 자동으로 동작하는 것 같다. 그래서, 옵션으로
letsencrypt
부분을false
처리 해 주었습니다.
Optional
위에 설정으로 gitlab 에 접속을 할 수 없을 경우에 아래와 같은 옵션을 사용할 수 있습니다.
1. /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml 에 있는 정보를 변경
nginx --> gitlab 으로 proxy로 연결해서 사용하게 되면, 링크가 깨지는 현상이 발생한다. 이를 해결하기 위해서 아래와 같은 설정으로 임시 해결할 수 있다. 단, 다른 기능이 또 안될 수 있다. (이 부분은 아직 해결을 못하고 있다.) 예를 들어 gitlab-runner 에 대한 설정을 하려고 들어가는 화면에서 링크가 깨진다.
production: base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: gitlab.xxxxxxxxxxxxx.com
port: 443
https: false
2. gitlab restart
gitlab-ctl restart
'개발' 카테고리의 다른 글
Mac이 AI PC로서 최고인 이유 (0) | 2024.02.03 |
---|---|
2024년 프로그래밍 랭킹 (1) | 2024.01.02 |
elixir vs rust 비교 (1) | 2023.12.27 |
vscode dev containers (1) | 2023.12.22 |
svn to git 마이그레이션 (맥) (0) | 2023.12.13 |