https://til.hyunjin.space/framework/.net-core-3.1/setting-for-synology-docker-with-.net-core-3.1
https://cntechsystems.tistory.com/103
참조한 블로그
시놀로지에서 도커허브 자료실에서
asp.net core 3.1 runtime 이미지가 검색으로 안나오니까 putty로 나스에 접속해서
docker pull mcr.microsoft.com/dotnet/aspnet:3.1-buster-slim
로 가져오면 이미지에 존재함.. ㅇㅇ
볼륨연결해서 폴더에 배포파일 넣고 컨테이너에서 해당폴더로 가서
dotnet 프로젝트명.dll 이라고하면 바로 실행됨
백드라운드 프록시보다는 안정성이 덜하지만 그래도 바로됨.. ㅇㅇ
------------------------------------------------------------------------
[nginx 백그라운드 프록시]
아무래도 전면부에 웹서버를 띄우고 구현체를 프록시로 연결하는게 좋아보이긴한다.
이를위해
[프로젝트 파일중에 Program.cs에서 5000번 포트사용 추가]
webBuilder.UseStartup<Startup>().UseUrls("http://0.0.0.0:5000");
이렇게 안할거면 실행할때 dotnet 프로젝트명.dll --urls "http://localhost:5000"
로 실행해서 5000번 포트로 띄울수 있기는함
[Startup.cs 파일에서]
ConfigureServices 메서드에서 다음을추가 전방프록시헤더 사용을 정의해줌..
services.Configure<ForwardedHeadersOptions>(options => {
options.ForwardedHeaders =
Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedFor
| Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedProto;
});
리눅스컨테이너에서.. nano랑 niginx를 설치함
그리고 /etc/nginx/conf.d/default.conf 파일을 다음과 같이수정
server {
listen 80;
server_name example.com *.example.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
귀찮으니 그냥 nginx 실행후 폴더가서 dotnet 프로젝트명.dll 으로 실행하고 나온다..
댓글 없음:
댓글 쓰기