詹金斯(Jenkins)在AWS中从80到443



i刚刚在AWS中安装了Jenkins EC2实例。我试图将重定向从http配置为https(即http://myjenkins.com,再到https://myjenkins.com)。我是在AWS还是在Jenkins中配置?我只找到https://aws.amazon.com/premiumsupport/knowledge-center/redirect-http-https-elb/,但没有太大帮助。请指教。谢谢

如果您想进入端口443上的Jenkins Web UI,我建议使用Nginx(例如Nginx)的Web服务器来代理您的Jenkins安装。这样,您可以使用相当的香草詹金斯安装,并处理Nginx中的所有SSL配置和端口重定向(这要容易得多)。

这是您如何完成您问什么的示例概述:

  1. 设置服务器并正常安装Jenkins,在端口8080上服务。
  2. 安装nginx并将其配置为代理"/"在localhost上的端口8080。
  3. 安装您的SSL证书。使用certbot与Let's Encrypt一起使用Certbot,这使此步骤非常容易,因为它为您处理所有SSL配置。(请注意,为了使安装工作,您的安全组必须允许所有流量在进行安装时访问您的实例。一旦配置了所有内容,就可以使其更加限制。您还需要一个公开访问的URL您的SSL证书有效)。
  4. 使用裸露域访问您的网站,并寻找将其转发到https。

这是我用来让我在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和CERT具体。

之后,你应该很好!

您需要将Jenkins设置配置为EC2内的HTTP;

,如果您在EC2的前面使用负载余额,则还需要配置ELB将端口转发至HTTPS。

最新更新