gra*_*aii 3 ssl redirect nginx winstone
我有一个 winstone 服务器 (Jenkins) 监听 8443。Jenkins 有一个有效的证书,Jenkins 正在成功执行证书终止:
JENKINS_ARGS="--httpPort=-1 --httpsKeyStore=/secure/jenkins.keystore --httpsKeyStorePassword=MY_PASSWORD --httpsPort=8443"
Run Code Online (Sandbox Code Playgroud)
唯一的问题是用户现在必须去:https : //example.com : 8443
我不想在 URL 中使用该端口号。我想要:
https://example.com:8443 -> https://example.com
https://example.com -> https://example.com
http://example.com -> https://example.com
Run Code Online (Sandbox Code Playgroud)
所以我想我会在运行 Jenkins 的同一个实例上运行 nginx。
所以我的问题是:
抱歉那些类似的问题。
我很确定 AWS ELB 不能取代 nginx 在这里所做的事情,但我想我会把它扔在那里,以防 ELB 也可以为我解决这个问题。
1) 不,您可以使用Stream Module将 Nginx Stream 连接直接连接到 Jenkins 。
请注意,这是在 1.9.0 中添加的,但不是默认构建的一部分,因此您可能必须自己构建它。
它的工作方式很像http server块,但您必须将其设置在http块之外。
stream {
upstream jenkins_server {
server jenkins:443;
}
server {
listen 443;
proxy_pass jenkins_server;
}
}
Run Code Online (Sandbox Code Playgroud)
2)您不需要证书,nginx但您应该有一个http用于端口 80的服务器块,它对答案第 1 部分中谈到的 443 流执行 301。
server {
listen 80;
server_name your_server_name_here;
return 301 https://$host$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
3)不,你不可以,因为你可以使用 nginx 流将 ssl 从客户端传递到 Jenkins 服务器。
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |