티스토리 뷰
Asp.net Core
Program.cs
builder.Services.Configure<ForwardedHeadersOptions>(options =>
{
//프록시 서버 사용하기 위한 설정
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
//옵션 : 해더정보 설정 Limit 수 Default : 1
options.ForwardLimit = 2;
//신뢰할 프록시 서버 IP 추가
options.KnownProxies.Add(IPAddress.Parse("127.0.0.1"));
//옵션 : 포워드시 해더네임 설정
options.ForwardedForHeaderName = "X-Forwarded-For-My-Custom-Header-Name";
});
// 해당 부분이 없으면 Default로 5000 port로 셋팅됨
builder.WebHost.ConfigureKestrel((context, serverOptions) =>
{
//프록시 서버 listen port 설정
serverOptions.Listen(IPAddress.Any, 15000, listenOptions =>
{
listenOptions.UseConnectionLogging();
});
});
Apache
vhost.conf(httpd.conf)
<VirtualHost *:*>
#프록시 서버 이용하여 전달하는 역할
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}e
</VirtualHost>
<VirtualHost *:80>
#프록시 서버로 전달
ProxyPreserveHost On
ProxyPass / http://localhost:15000/ retry=0
ProxyPassReverse / http://localhost:15000/
#동작할 도메인(IP) 설정
ServerName 'domainName or IP'
ServerAlias 'domainName or IP'
ServerAdmin root@localhost
#AspnetCore Dll파일이 있는 경로
DocumentRoot /your/server/document/root/folder
#로그 경로
ErrorLog ./logs/projectName-error.log
CustomLog ./logs/projectName-access.log common
</VirtualHost>
기타 다른 설정들 하고 난 후 기동 시켰을때
Permission denied: AH00957: HTTP:attempt to connect to 127.0.0.1:15000(127.0.0.1) failed
AH00959: ap_proxy_connect_backend disabling worker for(127.0.0.1) for XXs
에러가 난다면
root나 관리자 권한을 가진 계정으로
[root@localhost multiserver]# setsebool -P httpd_can_network_connect 1
실행(Selinux 설정 변경으로 권한 부여 : Selinux는 시스템 보안 관리 프로그램으로 윈도우 제어판에서 Window 보안 역할을 한다.)
'Programming > .Net' 카테고리의 다른 글
C#(.Net)에서 Log4net 설정 및 사용하기 (0) | 2020.03.27 |
---|---|
C# ref와 out의 차이 (0) | 2019.03.05 |
자바 final 같은 기능이 C#에서는? (0) | 2019.02.01 |
전원 끄기 도우미 (0) | 2015.06.08 |
Ibatis.NET XML Embedded 환경 설정 방법 (0) | 2013.12.16 |