我刚刚在AWS中安装了Jenkins EC2实例。我尝试将重定向从http配置为https(即https://myjenkins.com到https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/)。我是在AWS还是在Jenkins中配置?我只找到了https://docs.saltstack.com/en/latest/topics/blackout/index.html,但没有多大帮助。请指教。感谢
答案 0 :(得分:1)
如果您尝试访问端口443上的jenkins Web UI,我建议使用像nginx这样的Web服务器来代理对jenkins安装的请求。这样,您可以安装一个相当普通的jenkins并处理nginx中的所有SSL配置和端口重定向(这样做更容易)。
以下是您如何完成所要求的示例大纲:
以下是我用来在Ubuntu EC2 VM上工作的实际步骤(你可能不得不按照安装的方式哼唱,但你会得到这个想法):
apt-get update
apt-get upgrade -y
apt-get install nginx -y
cd /etc/nginx/sites-enabled/
vim default (see config below)
systemctl restart nginx
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
echo "deb http://pkg.jenkins-ci.org/debian binary/" | tee -a /etc/apt/sources.list
add-apt-repository ppa:webupd8team/java -y
apt-get update
apt-get install oracle-java8-installer -y
apt-get install jenkins –y
systemctl status jenkins
cd /var/lib/jenkins/secrets/
cat initialAdminPassword
ufw enable
sudo add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install python-certbot-nginx
ufw allow 'Nginx Full'
ufw allow OpenSSH
ufw status
certbot --nginx -d jenkins.example.com
您的默认nginx配置如下所示:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name jenkins.example.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
当您运行certbot --nginx -d jenkins.example.com
步骤时,它还会在您的nginx配置中插入一些行来设置SLL和证书细节。
在那之后,你应该很好!
答案 1 :(得分:0)
您需要在EC2中将Jenkins设置配置为HTTPS;
如果您在EC2前使用Load Balance,您还需要配置ELB以将端口转发到HTTPS。