- ゴーサーバーへのリスナーのhttpとHTTPSとして。 Nginxは、http + httpsの着信要求を処理するように構成されています。順番に証明書。 別々のサーバーを使用すると、httpsプロトコルで照会した結果が完全に実行されます。 127.0.0.1:54037からTLSハンドシェイクエラー:TLS:私はnginxの HTTPS は、サーバーからの応答とサーバゴーGolang + nginxの+ HTTPS私が持っている
」HTTPを取得していないプロキシを使用する場合ただし、最初のレコードを はありませんTLSハンドシェイクのように見えない問題がある可能性がどのような
クライアントゴー
:?
package main
import (
"net/http"
"log"
)
func HelloSSLServer(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "text/plain")
w.Write([]byte("This is an example server.\n"))
// fmt.Fprintf(w, "This is an example server.\n")
// io.WriteString(w, "This is an example server.\n")
}
func main() {
http.HandleFunc("/", HelloSSLServer)
go http.ListenAndServe("192.168.1.2:80", nil)
err := http.ListenAndServeTLS("localhost:9007", "/etc/letsencrypt/live/somedomain/fullchain.pem", "/etc/letsencrypt/live/somedomain/privkey.pem", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
nginxの設定ファイル:proxy_passと
server {
listen 192.168.1.2:80;
server_name somedomain;
rewrite^https://$host$request_uri? permanent;
}
server {
listen 192.168.1.2:443 ssl;
server_name somedomain;
access_log /var/log/nginx/dom_access.log;
error_log /var/log/nginx/dom_error.log;
ssl_certificate /stuff/ssl/domain.cert;
ssl_certificate_key /stuff/ssl/private.cert;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
location/
{
proxy_pass http://localhost:9007;
# proxy_redirect http://localhost:1500 http://site1;
proxy_cookie_domain localhost somedomain;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
c。疲れた目は働くから。ありがとうございました。 – Spouk