잠시만 기다려 주세요


 
HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (786)  |  추천 및 재미 (61)  |  자료실 (17)  |  끄적거림 (461)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2019년 08월 24일
억울한 것도 많겠지만.... 생각은 가슴으로 입은 무겁게... - 바다아이
 




    golang

golang - golang virtualhost, vhost
이 름 : 바다아이   |   조회수 : 2081         짧은 주소 : https://www.bada-ie.com/su/?181523071382
개인적인 생각입니다만 golang 에서 virtualhost 처리하는 것보다
그냥 속편하게 nginx 하고 같이 가시는 것이  좋습니다. ^^;
nginx 에서 virtualhost 처리하고 특정 포트에서 golang http 를 cgi 방식으로 돌리세요...

아래는 golang 으로 virtualhost 처리 방식입니다.
똑같습니다. 80으로 들어오는 것을 도메인 별로 다른 포트로 돌려서
해당 포트로 또 한개의 http 데몬 돌리는 거죠..

양쪽 방법 모두 단점과 장점이 분명 있습니다..
본인에게 맞는 방식을 사용하세요...


package main

import(
    "net/url"
    "net/http"
    "net/http/httputil"
)

func main() {
    vhost1, err := url.Parse("http://127.0.0.1:1980")
    if err != nil {
            panic(err)
    }
    proxy1 := httputil.NewSingleHostReverseProxy(vhost1)
    http.HandleFunc("publicdomain1/", handler(proxy1))
    
    vhost2, err := url.Parse("http://127.0.0.1:1981")
    if err != nil {
            panic(err)
    }
    proxy2 := httputil.NewSingleHostReverseProxy(vhost2)
    http.HandleFunc("publicdomain2/", handler(proxy2))
    
    err = http.ListenAndServe(":80", nil)
    if err != nil {
          panic(err)
    }
}

func handler(p *httputil.ReverseProxy) func(http.ResponseWriter, *http.Request) {
    return func(w http.ResponseWriter, r *http.Request) {
            p.ServeHTTP(w, r)
    }
}


출처 : https://gist.github.com/camoles/523dac8cc0fe40d52f66
 
| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
171 golang golang ... 바다아이 128
170 golang golang gopath, goroot .. 바다아이 169
169 golang golang ... Force download file example 바다아이 432
168 golang golang , , cpu, memory, disk 바다아이 752
167 golang golang , ... GOOS, GOARCH 바다아이 543
166 golang golang checkbox ... 바다아이 664
165 golang golang , , http .... 바다아이 703
164 golang golang nil , nil , nil ... 바다아이 759
163 golang 2 golang, go , .... golang .... 바다아이 966
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 816
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 876
160 golang golang , iconv 바다아이 932
159 golang golang quote escape, unquote 바다아이 929
158 golang golang , http errorLog , , ... 바다아이 1016
157 golang golang interface , 바다아이 972
156 golang golang struct .... 바다아이 1008
155 golang golang map map , 바다아이 972
154 golang golang map .... .... 바다아이 1046
153 golang golang slice copy 바다아이 929
152 golang golang goto 바다아이 1003
151 golang golang slice sort , int, string, float64 바다아이 1058
150 golang URL Parsing, url . parse 바다아이 1050
149 golang golang , interface{} ... 바다아이 994
148 golang golang interface to string, , , map slice json 바다아이 970
147 golang golang How to convert JSON string to map and slice, json 바다아이 972
146 golang golang , file write, Writing Files 바다아이 1136
145 golang golang Insert Line or String to File, , , , , 바다아이 936
144 golang golang replace 바다아이 985
143 golang golang split explode , , ... 바다아이 1064
142 golang golang email read parse, , ..... .... 바다아이 988
| |






Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : New Jersey  실행시간 : 0.0349
to webmaster... gogo sea. gogo sea.