似乎有很多问题和指南指导如何设置 nginx 以将 http 请求重定向到 https。许多已经过时,或者只是完全错误。
# MANAGED BY PUPPET
upstream gitlab {
server unix:/home/git/gitlab/tmp/sockets/gitlab.socket;
}
# setup server with or without https depending on gitlab::gitlab_ssl variable
server {
listen *:80;
server_name gitlab.localdomain;
server_tokens off;
root /nowhere;
rewrite ^ https://$server_name$request_uri permanent;
}
server {
listen *:443 ssl default_server;
server_name gitlab.localdomain;
server_tokens off;
root /home/git/gitlab/public;
ssl on;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES:HIGH:!ADH:!MDF;
ssl_prefer_server_ciphers on;
# individual nginx logs for this gitlab vhost
access_log /var/log/nginx/gitlab_access.log;
error_log …Run Code Online (Sandbox Code Playgroud) 我已经使用https://about.gitlab.com/downloads/ 中的默认包在 Ubuntu 12.04 上设置了 Gitlab
{编辑以澄清}
我已经设置了 Apache 来代理并运行安装在端口 8888 上的包的 nginx 服务器(或者我认为是这样)。
因为我已经安装了 Apache,所以我必须在 localhost:8888 上运行 nginx。问题是,所有图像(例如头像)现在都来自http://localhost:8888,并且 Gitlab 提供的所有结帐 URL 也是 localhost - 而不是使用我的域名。
如果我更改/etc/gitlab/gitlab.rb为使用该 url,则 Gitlab 将停止工作并给出 503。
任何想法如何告诉 Gitlab 向世界展示什么 URL,即使它真的在本地主机上运行?
/etc/gitlab/gitlab.rb 好像:
# Change the external_url to the address your users will type in their browser
external_url 'http://my.local.domain'
redis['port'] = 6379
postgresql['port'] = 2345
unicorn['port'] = 3456
Run Code Online (Sandbox Code Playgroud)
和/opt/gitlab/embedded/conf/nginx.conf看起来像:
server {
listen localhost:8888;
server_name my.local.domain;
Run Code Online (Sandbox Code Playgroud)
[更新]
如果我没有将 localhost:8888 …
我们希望拥有自托管的 slack 替代方案(最重要的是,rocket.chat),但将其隐藏在 VPN 后面对我们的某些用户来说是不舒服的。
如果它不公开,我会感到更安全,但它到底有多大风险?
我相信这个问题可以应用于所有开发应用程序,例如:gitlab、redmine 等。
尝试mysqld在 CentOS 6.5 机器上启动恶魔时,出现以下错误:
[root@hardin ~]# service mysqld start
Another MySQL daemon already running with the same unix socket.
Starting mysqld: [FAILED]
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为服务没有启动(它被配置为在默认端口上运行):
[root@hardin ~]# service mysqld status
mysqld is stopped
Run Code Online (Sandbox Code Playgroud)
我不确定如何找到导致问题的 Unix 套接字:
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 10 [ ] DGRAM 12056 /dev/log
unix 2 [ ACC ] STREAM LISTENING 8720 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 12878 /var/run/mcelog-client
unix 2 [ ] DGRAM …Run Code Online (Sandbox Code Playgroud) 目前我们在每个项目中都放了一个 .gitlab-ci.yml 。目前我们有 50 多个项目,每次 .gitlab-ci.yml 发生变化时,团队都必须更改所有项目的结构。是否可以拥有一个通用的 .gitlab-ci.yml?
尝试